Python2跟Python3的区别

1、print() 函数的区别

  • python3必须加括号,python2加不加都行;

2、Python2 的默认编码是ASCII,Python3的默认编码是UTF-8;


3、Python2中既有长整型(long)又有整型(int),Python3中只有整型(int);


4、Python2以前没有布尔型,0表示False,用1表示True;Python3 把 True 和 False 定义成关键字,它们的还是 1 和 0,可以和数字运算;


5、Python2中除法的商若是浮点数则只返回商的整数部分,Python3中除法的返回值是浮点型;


6、Python3中input() 输入的都是字符串和Python2中的raw_input()一样;Python2中也有input(),输入的什么数据类型就显示什么数据类型;


7、Python3源码功能不重复,源码统一,维护简单;Python2源码功能重复,源码不统一,维护困难;


8、创建类时,Python2分为经典类和新式类,新式类就是继承object父类的类,经典类则是没有继承object父类的类;Python3中全部是新式类,默认继承object父类,且有类的mro函数方法,输出继承父类的顺序列表;在属性查找时,经典类查找方式为深度优先,新式类则是广度优先;


9、Python3中的range函数返回的是可迭代对象(如:容器类型数据、range对象、迭代器);Python2中的range函数直接返回列表;


10、重用父类属性的super()使用方法不同,Python2中super()需要输入本身类名和自身作为参数,而Python3中不用输入参数,可以直接使用替代上一级父类

原文地址:https://www.cnblogs.com/fengting0913/p/13252025.html