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