0%

Python 2 和 Python 3 的区别

Python 2 Python 3
源码不统一 源码统一
有重复代码 没有重复代码
整型的除法:整型 整型的除法:浮点型
print不加括号也可以 print()
input() 输入什么类型,就是什么类型;
raw_input() 获取到的全都是字符串
input() 获取到的全都是字符串
整型包括int(整型)和 long(长整型) 只有 int(整型)
整数达到一定长度后,结尾会有L标记 整数不论多长,结尾都不会有L标记
range(1, 5) 打印出来为列表 [1, 2, 3, 4] range(1, 5) 打印出来为 range(1, 5)
创建和使用迭代器时,只能使用内置函数 iter()next(),迭代器中没有 .__iter__().__next__() 方法 创建和使用迭代器时,既可以使用内置函数 iter()next(),也可以使用迭代器中的 .__iter__().__next__() 方法。
reduce 函数可以直接使用 需要通过 from functools import reduce 来导入 reduce 函数
使用 import 方法导入包,包中没有 __init__.py 文件时,会报错 使用 import 方法导入包,包中没有 __init__.py 文件时,不会报错,但也不能被使用
创建类时,如果不使用继承,默认为经典类;继承自 object 类的为新式类。 继不继承都是使用新式类的继承方式
经典类的继承顺序为深度优先,先左后右 新式类的继承顺序是按照 C3 线性化算法 得到的 mro 列表