您好,登錄后才能下訂單哦!
小編給大家分享一下Python2與Python3對比有哪些區別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
python解釋器默認編碼(python2與python3的區別一)
python2 解釋器默認編碼:ascii
python3 解釋器默認編碼:utf-8
輸入(python2與python3的區別二)
python2:name=raw_input('請輸入姓名')
python3:name=input('請輸入你的姓名')
輸出(python2與python3的區別三)
python2:print "你好"
python3:print("你好")
數字表示(python2與python3的區別四)
python2
64位機器,范圍-2^63~2^63-1
超出上述范圍,python自動轉化為long(長整型)
注:long(長整型)數字末尾有一個L
python3
所有整型都是int,沒有long(長整型)
整型除法(python2與python3的區別五)
python2:只能保留整數位
python3:可以保留所有內容
range / xrange(python2與python3的區別六)
python2:
xrange:不會在內存中立即創建,而是在循環時,邊循環邊創建
range:在內存立即把所有的值創建
python3:
只有range,相當于python2中的xrange
range:不會在內存中立即創建,而是在循環時,邊循環邊創建
包的定義(python2與python3的區別七)
python2:文件夾中必須有_ _ init _ _.py文件
python3:不需要有_ _ init _ _.py文件
字典的keys / values / items方法(python2與python3的區別八)
python2:返回列表,通過索引可以取值
python3:返回迭代器,只能通過循環取值,不能通過索引取值
map / filter(python2與python3的區別九)
python2:返回列表,直接創建值,可以通過索引取值
python3:返回迭代器,不直接創建值,通過循環,邊循環邊創建
str(字符串類型)的區別(python2與python3的區別十)(最大區別,優先寫這個)
python2:
str類型,相當于python3中的字節類型,utf-8/gbk等其他編碼
unicode類型,相當于python3中的字符串類型,unicode編碼
python2中沒有字節類型
python3:
str類型,字符串類型,unicode編碼
python3中沒有unicode類型
繼承object(python2與python3的區別十一):
class Foo: pass class Foo(object): pass # 在python3中這倆的寫法是一樣,因為所有的類默認都會繼承object類,全部都是新式類。 # 如果在python2中這樣定義,則稱其為:經典類 class Foo: pass # 如果在python2中這樣定義,則稱其為:新式類 class Foo(object): pass # 新式類 # 繼承object # 支持super # 多繼承 廣度優先C3算法 # mro方法 # 經典類 # py2中不繼承object # 沒有super語法 # 多繼承 深度優先 # 沒有mro方法
看完了這篇文章,相信你對“Python2與Python3對比有哪些區別”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。