在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。在屬性查找時,經典類查找方式為深度優先,新式類是廣度優先。
-
python
+關注
關注
56文章
4797瀏覽量
84690
發布評論請先 登錄
相關推薦
評論