溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python3和2的主要區(qū)別是什么

發(fā)布時(shí)間:2020-07-18 11:55:44 來源:億速云 閱讀:143 作者:清晨 欄目:編程語言

小編給大家分享一下python3和2的主要區(qū)別是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python2版本和python3版本的區(qū)別,兩者對(duì)比如下

Python3 對(duì) Unicode 字符的原生支持。

Python2 中使用 ASCII 碼作為默認(rèn)編碼方式導(dǎo)致 string 有兩種類型 str 和 unicode,Python3 只

支持 unicode 的 string。Python2 和 Python3 字節(jié)和字符對(duì)應(yīng)關(guān)系為:

Python3 采用的是絕對(duì)路徑的方式進(jìn)行 import

推薦:Python教程

Python2 中相對(duì)路徑的 import 會(huì)導(dǎo)致標(biāo)準(zhǔn)庫導(dǎo)入變得困難(想象一下,同一目錄下有 file.py,如

何同時(shí)導(dǎo)入這個(gè)文件和標(biāo)準(zhǔn)庫 file)。Python3 中這一點(diǎn)將被修改,如果還需要導(dǎo)入同一目錄的文件必

須使用絕對(duì)路徑,否則只能使用相關(guān)導(dǎo)入的方式來進(jìn)行導(dǎo)入。

Python2 中存在老式類和新式類的區(qū)別,Python3 統(tǒng)一采用新式類。新式類聲明要求繼承 object,

必須用新式類應(yīng)用多重繼承。

Python3 使用更加嚴(yán)格的縮進(jìn)。Python2 的縮進(jìn)機(jī)制中,1 個(gè) tab 和 8 個(gè) space 是等價(jià)的,所

以在縮進(jìn)中可以同時(shí)允許 tab 和 space 在代碼中共存。這種等價(jià)機(jī)制會(huì)導(dǎo)致部分 IDE 使用存在問題。

Python3 中 1 個(gè) tab 只能找另外一個(gè) tab 替代,因此 tab 和 space 共存會(huì)導(dǎo)致報(bào)錯(cuò):TabError:

inconsistent use of tabs and spaces in indentation.

廢棄類差異

1. print 語句被 Python3 廢棄,統(tǒng)一使用 print 函數(shù)

2. exec 語句被 python3 廢棄,統(tǒng)一使用 exec 函數(shù)

3. execfile 語句被 Python3 廢棄,推薦使用 exec(open("./filename").read())

4. 不相等操作符"<>"被 Python3 廢棄,統(tǒng)一使用"!="

5. long 整數(shù)類型被 Python3 廢棄,統(tǒng)一使用 int

6. xrange 函數(shù)被 Python3 廢棄,統(tǒng)一使用 range,Python3 中 range 的機(jī)制也進(jìn)行修改并提高

了大數(shù)據(jù)集生成效率

7. Python3 中這些方法再不再返回 list 對(duì)象:dictionary 關(guān)聯(lián)的 keys()、values()、items(),zip(),

map(),filter(),但是可以通過 list 強(qiáng)行轉(zhuǎn)換:

1. mydict={"a":1,"b":2,"c":3}

2. mydict.keys() #<built-in method keys of dict object at 0x000000000040B4C8>

3. list(mydict.keys()) #['a', 'c', 'b']

8. 迭代器 iterator 的 next()函數(shù)被 Python3 廢棄,統(tǒng)一使用 next(iterator)

9. raw_input 函數(shù)被 Python3 廢棄,統(tǒng)一使用 input 函數(shù)

10. 字典變量的 has_key 函數(shù)被 Python 廢棄,統(tǒng)一使用 in 關(guān)鍵詞

11. file 函數(shù)被 Python3 廢棄,統(tǒng)一使用 open 來處理文件,可以通過 io.IOBase 檢查文件類型

12. apply 函數(shù)被 Python3 廢棄

13. 異常 StandardError 被 Python3 廢棄,統(tǒng)一使用 Exception

看完了這篇文章,相信你對(duì)python3和2的主要區(qū)別是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI