下面看下python2.x和python3.x的區別
1.大環境不同
python2.x:源碼重復,不規范
python3.x:整合源碼,更清晰優美簡單
?2.默認編碼不同
python2.x:默認編碼ASCII編碼
python3.x:默認編碼UTF-8
3.python3.x沒有長整型
python2.x:有長整型long
python3.x:long整數類型被廢棄,統一為int
4.打印方式不同
python2.x:print語句,print空格+打印內容
python3.x:print()函數,print(打印內容)
5.交互函數不同
python2.x:raw_input() input()
1) raw_input()函數的輸入內容類型為字符串
2) input()函數的輸入內容類型為輸入字符的類型
例:
>>> a = input('請輸入:') 請輸入:1 >>> type(a)>>> a = input('請輸入:') 請輸入:'string' >>> type(a) python3.x:input()
1) raw_input()被廢除,統一使用input()
2) input()函數的輸入內容類型為字符串
python面試題Python2.x和Python3.x的區別
1 Py3默認使用utf-8編碼,python2使用ascill碼
2 去除了<>,全部改用!=
3 整型除法返回浮點數,要得到整型結果,請使用//
4 去除print語句,加入print()函數實現相同的功能。同樣的還有 exec語句,已經改為exec()函數
5 改變了順序操作符的行為,例如x
6 輸入函數改變了,刪除了raw_input,用input代替
7 去除元組參數解包。不能def(a, (b, c)):pass這樣定義函數了
8 Py3.X去除了long類型,現在只有一種整型――int,但它的行為就像2.X版本的long
9? 新增了bytes類型,對應于2.X版本的八位串
10 迭代器的next()方法改名為__next__(),并增加內置函數next(),用以調用迭代器的__next__()方法
11 增加了@abstractmethod和 @abstractproperty兩個 decorator,編寫抽象方法(屬性)更加方便。
12 所以異常都從 BaseException繼承,并刪除了StardardError
13 去除了異常類的序列行為和.message屬性
14 用 raise Exception(args)代替 raise Exception, args語法
15 移除了cPickle模塊,可以使用pickle模塊代替。最終我們將會有一個透明高效的模塊。
16 移除了imageop模塊
17 移除了 audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2,
rexec, sets, sha, stringold, strop, sunaudiodev, timing和xmllib模塊
18 移除了bsddb模塊(單獨發布,可以從http://www.jcea.es/programacion/pybsddb.htm獲取)
19 移除了new模塊
20 xrange() 改名為range()
總結
以上所述是小編給大家介紹的python面試題Python2.x和Python3.x的區別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
