python2和python3的一些区别
Posted li-1198208544
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python2和python3的一些区别相关的知识,希望对你有一定的参考价值。
性能:py3.x起始比py2.x效率低,但是py3.x有极大的优化空间,效率正在追赶。
编码:py3原码文件默认utf-8编码,使得变量名更为广阔。
语法:1,去除了 <> ,改用了 !=
2,加入了as和with关键字,还有True,False,None
3,整型触发返回浮点数,整除使用了‘//’
4,去除了print语句,加入了print函数
5,去除了raw_input,加入了input()函数
6,新的super(),在继承父类的时候乐意不再给super()传参数
7,改变了顺序操作符的行为,例如x<y,当x和Y类型不匹配时抛出TypeError,而不是返回bool值
字符串和字节串:
py2中字符串是以8-bit 字符串存储
py3中字符串以16-bit Unicode字符串存储,现在的字符串只有str一种类型
数据类型:
py3中去除了long类型,现在只有一中整型-- int,但它的行为就像2.x版本的long
新增了bytes类型,对应于2.x版本的八位串。str对象和bytes对象可以使用 .encode ()(str ->bytes) or .decode()(bytes -> str)方法相互转化
面向对象:引入了抽象基类
异常:所有异常都从BaseException继承,并删除了StardardError
py2:
1 try: 2 ...... 3 except Excetion, e: 4 ......
py3:
try: ..... except Exception as e: ......
其他 :
range和xrange的区别:
py2中:
range 函数说明:range( [start,] stop [,step]),根据start与stop指定的范围及step设定的步长,生成一个序列。 xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器
py3:
已经将xrange函数删除,range函数同py2中的xrange函数用法相同
file类被废弃:
打开文件直接使用 open(path)
以上是关于python2和python3的一些区别的主要内容,如果未能解决你的问题,请参考以下文章