Python2与Python3的区别:
? ? ? ? 前言:目前python兩個版本Python2與Python3同時存在,并且這兩個版本都在維護(hù)更新,但是Python2應(yīng)該在2020年就停止維護(hù)更新了,那么到底選擇Python2還是Python3,這個要取決于當(dāng)前的要使用的庫、框架支持哪個版本?,F(xiàn)在做一下Python2與Python3的區(qū)別:
1、? 性能:Py3起始比Py2的效率低,但是Py3具有極大的優(yōu)化空間,效率正在追趕
2、? 編碼:Py3原碼文件默認(rèn)使用utf-8編碼,使得變量名更為廣闊
3、? 語法:
1》? Py3去除了<>,改用!=,意思更加明了。
2》? 加入了as,with,True,False,None這些關(guān)鍵字。
3》? 整型除法返回浮點數(shù),整除使用//。
4》? 加入了nonlocal語句:對局部變量進(jìn)行聲明,內(nèi)部函數(shù)使用外部函數(shù)的局部變量進(jìn)行修改。
5》? 去除了print語句,加入了print()函數(shù)。
6》? 去除了raw_input,加入了input()函數(shù)。
7》? 新的super(),可以不再給super()傳參數(shù)。
8》? 改變了順序操作符的行為,例如x<y,當(dāng)x和y類型不匹配時,拋出TypeErrorer,而不是返回隨即的bool值。
9》? 新式的8進(jìn)制字變量。
10》? Py2字符串以8-bit字符串存儲,Py3字符串以16-bit Unicode字符串存儲,現(xiàn)在字符串只有str一種類型。
11》? 數(shù)據(jù)類型:Py3去除了long類型,現(xiàn)在只有一種整型—int,新增了bytes類型,對應(yīng)于Py2中的八位串。Str對象和bytes對象可以使用encode()(str->bytes)or.decode()(bytes->str)方法相互轉(zhuǎn)化。
12》? 面向?qū)ο笾幸肓顺橄蠡悺?3》異常:所有異常都從BaseEc=xception繼承,并刪除了StardardError。
4、? 其他:
1》Py3將xrange()改名為range(),要想使用range()獲得一個list,必須顯示調(diào)用。
2》file類被廢棄,打開文件用open(path)
轉(zhuǎn)載于:https://www.cnblogs.com/LJCHSYM/p/10596383.html
總結(jié)
以上是生活随笔為你收集整理的Python2与Python3的区别:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MB_SELECT_GR_BLOCKED
- 下一篇: em的继承性问题