真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3和python2的區(qū)別是什么

這篇文章將為大家詳細(xì)講解有關(guān)python3和python2的區(qū)別是什么,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、管城網(wǎng)站維護(hù)、網(wǎng)站推廣。

python3.4和2.7的區(qū)別就是python2版本和python3版本的區(qū)別,兩者對比如下

核心類差異

1. Python3 對 Unicode 字符的原生支持。

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

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

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

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

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

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

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

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

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

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

Python3 中 1 個 tab 只能找另外一個 tab 替代,因此 tab 和 space 共存會導(dǎo)致報(bào)錯: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 對象: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() #

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

修改類差異

1. 浮點(diǎn)數(shù)除法操作符“/”和“//”的區(qū)別

“ / ”:

Python2:若為兩個整形數(shù)進(jìn)行運(yùn)算,結(jié)果為整形,但若兩個數(shù)中有一個為浮點(diǎn)數(shù),則結(jié)果為

浮點(diǎn)數(shù);

Python3:為真除法,運(yùn)算結(jié)果不再根據(jù)參加運(yùn)算的數(shù)的類型。

“//”:

Python2:返回小于除法運(yùn)算結(jié)果的最大整數(shù);從類型上講,與"/"運(yùn)算符返回類型邏輯一致。

Python3:和 Python2 運(yùn)算結(jié)果一樣。

2. 異常拋出和捕捉機(jī)制區(qū)別

Python2

1. raise IOError, "file error" #拋出異常

2. except NameError, err: #捕捉異常

Python3

1. raise IOError("file error") #拋出異常

2. except NameError as err: #捕捉異常

3. for 循環(huán)中變量值區(qū)別

Python2,for 循環(huán)會修改外部相同名稱變量的值

1. i = 1

2. print ('comprehension: ', [i for i in range(5)])

3. print ('after: i =', i ) #i=4

Python3,for 循環(huán)不會修改外部相同名稱變量的值

1. i = 1

2. print ('comprehension: ', [i for i in range(5)])

3. print ('after: i =', i ) #i=1

4. round 函數(shù)返回值區(qū)別

Python2,round 函數(shù)返回 float 類型值

1. isinstance(round(15.5),int) #True

Python3,round 函數(shù)返回 int 類型值

1. isinstance(round(15.5),float) #True

5. 比較操作符區(qū)別

Python2 中任意兩個對象都可以比較

1. 11 < 'test' #True

Python3 中只有同一數(shù)據(jù)類型的對象可以比較

1. 11 < 'test' # TypeError: unorderable types: int() < str()

關(guān)于python3和python2的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


當(dāng)前文章:python3和python2的區(qū)別是什么
分享鏈接:http://weahome.cn/article/jpippc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部