小编给大家分享一下目前python的哪个版本更稳定一些,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
想学习python的人都会有一个困惑,那就是python目前有两个版本Python2和Python3, Python2与Python3有何区别,两个版本该学习哪个呢?
<强> Python3和Python2是不兼容的>强,而且差异比较大,Python3是不向下兼容的,但是绝大多数组件和扩展都是基于Python2的。目前实际应用中大部分暂不考虑Python3,有的时候注意写兼容2/3的代码。用Python2为主的写新代码时要考虑以后迁移到Python3的可能性。据数据统计显示目前10%使用python 3; 20%既使用python 2也使用python 3, python 2用的更多;70%使用python 2。
其实python是linux上最常用的软件之一,但linux是目前的版本大部分还是使用Python2的,而且,在linux上依赖Python2的程序更多一些,所以Python3要代替Python2成为主流还需要几年的时间。如果为了找工作还是学python 2,学会了python 2,由python 2转到Python3也不难。
<强>说了半天,Python2与Python3到底有何区别呢?
强>
1。性能
Py3.0运行pystone基准的速度比Py2.5慢30% .guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。
Py3.1性能比Py2.5慢15%,还有很大的提升空间。
2。编码,
Py3。X源码文件默认使用utf - 8编码,这就使得以下代码是合法的:
,在祝辞祝辞,中国,=,& # 39;中国# 39; ,,,在的在的在打印(中国) 以前,中国才能>3。语法
1)去除了& lt;祝辞,全部改用!=
2)去除“,全部改用repr ()
3)关键词加入为和,还有真的,假的,没有一个
4)整型除法返回浮点数,要得到整型结果,请使用//
5)加入外地语句。使用noclocal x可以直接指派外围(非全局)变量
6)去除打印语句,加入()打印函数实现相同的功能。同样的还有exec语句,已经改为exec()函数
例如:
,,,2. x:, print “, answer 女儿家,2 * 2 ,,3. x:,打印(“,answer 女儿家,,,2 * 2) ,,2. x:, print x,, #,使用逗号结尾禁止换行 ,,3. x:,打印(x),结束=?“),#,使用空格代替换行 ,,2. x: print #,输出新行 ,,3. x:打印(),#,输出新行 ,,2. x: print 在祝辞sys.stderr,,“fatal error" ,,3. x:打印(“fatal error",,文件=sys.stderr) ,,2. x: print (x, y)#输出repr ((x, y))
3。X:打印((X, y)) #不同于打印(X, y) !
,,在祝辞的在0666年 ,,438 ,,,的在祝辞祝辞,10月(438) ,,,& # 39;0666 & # 39;3。X这样:
,,在祝辞的在0666年 ,,,SyntaxError:, invalid token (& lt; pyshell # 63祝辞,line 1) ,,,的在祝辞祝辞0 o666 ,,438 ,,,比的在祝辞,10月(438) ,,& # 39;0 o666& # 39;11)增加了2进制字面量和本()函数
,,,在祝辞祝辞,本(438) ,,& # 39;0 b110110110& # 39; ,,,比的在祝辞,_438 =, & # 39; 0 b110110110& # 39; ,,,比的在祝辞_438 & # 39;才能0 b110110110& # 39;12)扩展的可迭代解包。在Py3。X里,a、b *休息=seq和*休息,a=seq都是合法的,只要求两点:休息是列表
对象和seq是可迭代的。
13)新的超级(),可以不再给超级()函数传参数,
在祝辞祝辞,class C(对象): def __init__ (,,): 打印(& # 39;c # 39;,,) 在祝辞祝辞,class D (C): def __init (,,): super () . __init__ (a), #,无参数调用super () 在祝辞祝辞,D (8) C 8 & lt; __main__.D  object at 0 x00d7ed90>14)新的元类语法:
class Foo(*基地,,* * kwds): 通过15)支持类装饰。用法与函数装饰一样:
目前python的哪个版本更稳定一些