• 从python2.x到python3.x进阶突破


     

    1.p2是重复代码,语言不同,不支持中文;p3则相反,其中代码不重复,语言用的相同的,并且是支持中文的。

    2.p2中input中输入数字输出数字,输入字符串必须自己手动加引号才行;p3中input输出的都是字符串。其中p2中的raw_input等于是p3中的input。

    3.在p2中print可以加括号也可以不加括号;p3中print必须加括号。

    4.在p2中除法获取到的是整型;而在p3中除法获取到的是浮点型.

    5. P3源码文件默认使用utf-8编码,这就使得以下代码是合法的:

        >>> 中国 = 'china'

        >>>print(中国)

        china

    6.P3.x相对于P2.x的不同:

    1)去除了<>,全部改用!=

    2)去除``,全部改用repr()

    3)关键词加入as 和with,还有True,False,None

    4)整型除法返回浮点数,要得到整型结果,请使用//

    5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量

    6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数  

    7)改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError而不是返回随即的 bool值  

    8)输入函数改变了,删除了raw_input,用input代替:

       2.X:guess = int(raw_input('Enter an integer : ')) # 读取键盘输入的方法

       3.X:guess = int(input('Enter an integer : '))

    7.p2中有长整型 long;p3中全都是整型,没有长整型 long.

    8.在P2.x解释器中,range(3,6)可以直接输出一个范围的列表,而xrange()是一个生成器;而在P3.x解释器中,不识别range()这个范围,只是输出他本身,是一个可迭代的,只是一个范围,既不是迭代器也不是生成器。

    9.关于浮点数的区别:在p2.x中,整数除以整数就会取整,有一个浮点数就会按照浮点数计算.在P3.x中,所有的除法(除了整除 //)的结果都是小数

    10.P2.x中的经典类中的多继承是深度优先算法,没有__mro__方法提示顺序并且没有super()方法,P2.x中的新式类必须是在经典类中的最上层的父类继承object,并且在其中使用super()方法必须将里面的参数输入

    11.P3.x中的全是新式类,使用的是广度优先算法,没有经典类

  • 相关阅读:
    jquery选择器详解
    git discard when composer update
    ASCII码、HEX、字符、BCD 等等 基础知识思考
    中文汉字占二个字节还是三个字节长度
    php二分查找的两种实现方法
    windows下运行多个版本node.js
    NodeJS
    Error in library(qcc) : there is no package called 'qcc'
    jquery网络引用地址(收藏)
    实现二分查找
  • 原文地址:https://www.cnblogs.com/sanzangdashi3/p/9890567.html
Copyright © 2020-2023  润新知