请简述Python2与Python3中的区别,python2和python3的区别有哪些-

  请简述Python2与Python3中的区别,python2和python3的区别有哪些?

  1.它不等于比较运算符。python3不认可。它在pyhon2.7中!=和都可以运行。

  2.对于打印功能的使用,python3必须加括号,python2可以加也可以不加。

  3.py2的默认编码是ASCII,py3的默认编码是UTF-8。

  4.py3字符串解码后会在内存中自动转换成Unicode,而py2不会。如果在文件头中指定了解码代码,py2和py3都将按照指定进行解码。所有系统都支持Unicode,所以只要正确指定解码代码,py3在任何系统上都可以正常显示。如果py2不是gbk编码,windous解码后会乱码。

  5.py2中有Unicode数据类型,但py3中没有。字符串都是Unicode格式的str数据类型。

  6.py2中的字节可以是二进制或str,而py3中的字节只是用十六进制表示的二进制。

  7.py2中有long类型的数据,但py3中没有。py2中最大int值是-2**31~2**31-1,比在末尾加L转换成long类型还多。(直接操作会显示长型,因为会先操作2**31,是长型)

  8.用户输入是不同的。py3中只有input()输出与py2中的raw_input()输出相同,而py2中也有input()。输入字符串应加引号,数字输出应为相应的数字类型。

  9.Py2之前没有布尔,0代表假,1代表真;Python3将True和False定义为关键字,它们的值仍然是1和0,可以用数字操作。

  10.py2中的range()直接生成列表(大量内存崩溃),而py3中只有range()和py2中的xrang()只生成一个生成器(一种计算方法,不占用内存)。

  1.如果py2的除法不是浮点数,则只返回商。py3除法返回值正常。

  12.py3运行程序可以识别同一目录下常用文件夹中的模块,而py2只能识别文件夹识别后的包中的模块。

  13.在创建类时,py2分为经典类和新类,新类是继承object的类,经典类是不继承的类,py3中的所有新类默认继承object。在搜索属性时,经典的类搜索方法是深度优先,新类是广度优先。只有py3中带有类的mro函数方法输出继承的父类的顺序列表。

  14.使用super()重用父类属性有不同的方法。在py2中,super()需要输入自己的类名和自身作为参数,而在py3中,不需要输入参数,可以直接使用它,而不用上一级的父类。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: