Python 2在2020年元旦将正式停止官方支持,同时也有越来越多的 python 库 不再支持 python 2。
所以小编建议新手刚开始学习Python使用Python3版本
所以我们就来看看 pyhton 2 跟 python 3 有哪些区别,慢慢做个迁移~
__future__ 模块
通过 __future__ 模块,我们可以轻松使用 python 3 的特性,比如:
from __future__ import division
其它可以使用的特性主要有:
print 函数
python 2 中 print 是表达式,python 3 中 print 是函数:
除法运算
编码问题
python 2 中默认的字符串类型是 ASCII,python 3 中默认的字符串类型是 Unicode:
python 2 也支持 Unicode:
xrange
python 2 中 range() 返回一个list, xrange() 返回一个 xrange 对象(迭代器);使用 xrange() 在计算大范围时可以更加节省内存;
python 3 中不存在 xrange() ,只有 range() 也就是 python 2 中的 xrange() 。
抛出异常
异常处理
python 3 中 as 关键字时必须的,不可以省略
next
python 2 中同时存在 next() 和 .next() ,而 python 3 仅保留 next() :
for循环变量和全局命名空间
python 3 中 for 循环的变量不会泄漏到全局命名空间。
input()
python 2 中,输入有两个函数 input() 和 raw_input();
python 3 中仅保留 input() ,功能同 raw_input() ,输入对象类型始终保存为 str;
领取专属 10元无门槛券
私享最新 技术干货