电子说
在python这门语言中有两个重要的版本,一个是python2,一个是python3。
Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。对于初学者来说,要选择python3进行学习,毕竟它代表未来。
在公司产品开发中,有个别产品可能开发比较早,采用的是python2.x版本开发的,对于没有接触过python2.x版本的人来说,看到或修改这些代码会感觉很怪异,其实我们只要掌握python2和python3的主要区别就够了,下面勇哥给大家分享下python2和python3的主要区别。
1、 print用法差异比较大
如果要打印某个信息:
2、 用户输入函数不同
用户输入不同,python3中只有input(),它返回的都是str类型,python2中的raw_input()是用来接收字符串的,python2中也有input(),输入字符串时需要带上引号,表示你输入的是字符串,输入数字不需带。
3、 字符串编码的改变
Python2默认ASCII编码方式,但是ASCII编码无法对中文等字符进行有效编码,因此在涉及到中文及其它字符编码问题时,ASCII不仅无能为力,经常会带来意想不到的错误。Python 3 默认采用了 UTF-8 作为默认编码,因此不需要在文件顶部写 # coding=utf-8 。
4、整数类型的改变
python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算。int的表示范围相当于其他语言中的long long int类型。
5、除法符号表示的意义不同
原来python2中执行1/2(两个整数相除)结果是0,现在python3中执行就是0.5了
6、Python2以前没有布尔型,0表示False,1表示True;Python3 把 True 和 False 定义成关键字,它们的值是 1 和 0,可以和数字运算。
7、pthony2中range()内置函数直接生成列表(量大占内存会死机),pthony3中只有range()和python2中的xrang()一样都只生成一个生成器。python3中没有xrange()这个内置函数。
8、创建类时,python2分为经典类和新式类,新式类就是继承object的类,经典类是没有继承的类,而python3中全部是新式类,默认继承object。在属性查找时,经典类查找方式为深度优先,新式类是广度优先。
全部0条评论
快来发表一下你的评论吧 !