python3与python2不可不知的10个区别
还有三个多月的时间,python2就没有人维护了。还在使用python2的人应该需要考虑迁移到python3,毕竟用一个没人维护的软件是危险的。正在使用python3的人中,相当大的一部分也没有了解到python3与python2的区别。这里列出最常用的10条区别,让大家在编写python3的程序时能够避免掉入一些坑中。
python2的版本
python3的版本
1. print/exec
print大概是最常用的python语法,在python2中print是作为操作符,在python3中print是一个函数,既然是函数,括号就必不可少了。
python2
python3
2. 编码
开始用python2处理中文的时候,相比很多朋友都遇到过乱码的问题。最后都是将文件编码声明成utf-8来解决的。而在python3中就不需要担心这种问题,因为python3默认采用utf-8编码。
python2
python3
3. 除法
python2对除法的处理跟C/C++是一致的,而python3抛弃了这一做法。
python2
python3
4. 删掉的语法
python3中移除了一些python2中存在的语法,不过这些语法的使用频率本身不高,所以影响也不大。
python2
python3
5. 抛出和捕获异常
对于异常的处理一直都是编写python代码需要做的事情,python3对异常的处理显然更加合理。
python2
python3
6. int与long
整型这种最常用的数据类型也是不可不了解的。python3中整型只有int类型,这个int可以表示python2中int和long能表示的所有数据范围。
python2
python3
7. True与False
python3中True和False是关键字,不能重新赋值;而python2中,这两个只是很普通的全局标志符,可以被重新赋值。显然,python3的处理方式更合理。
python2
python3
8. 迭代对象
迭代对象的使用频率也是极高的,python3中将几个重要的函数返回值改成迭代对象,比如:map, filter, dict.items(), dict.keys(), dict.values()。
python2
python3
9. 新增关键字
python中新增了一些关键字,这些关键字可以实现之前无法实现的功能,这里只演示一下nonlocal这个关键字,因为这个可能使用频率稍高一些。
python2
python3
10. input与raw_input
使用命令行输入参数的方式也是很多人喜欢的,python3下的input()就相当于python2下的raw_input()函数。
python2
python3
python3与python2当然还有一些其他的区别,只是那些区别有很多都是使用者不需要关心的,或者使用频率极低,没有必要提前了解的。
关于python3与python2的区别有任何问题的朋友可以在评论区留言,可以在github上提issue,或者发邮件到cnbluegeek@gmail.com。
- 本文分类:菜鸟教程
- 本文标签:
- 本文链接:https://www.58how.com/Reference/25399.html

发表评论 取消回复