国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

講解 python2與3的區(qū)別

極客小將2021-01-13-
簡介相關(guān)免費(fèi)學(xué)習(xí)推薦:python視頻教程python2和python3的區(qū)別區(qū)別一、python3.0的一些變化1.print函數(shù)2.Unicode3.除法運(yùn)算4.異常5.xrange6.八進(jìn)制字面量表示7.不等運(yùn)算符8.去掉了repr表達(dá)式9.多個模塊被改名(根據(jù)PEP8)10.數(shù)據(jù)類型
0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

相關(guān)免費(fèi)學(xué)習(xí)推薦:python視頻教程0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

python2和python3的區(qū)別0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

區(qū)別一、python3.0的一些變化1.print函數(shù)2.Unicode3.除法運(yùn)算4.異常5.xrange6.八進(jìn)制字面量表示7.不等運(yùn)算符8.去掉了repr表達(dá)式"9.多個模塊被改名(根據(jù)PEP8)10.數(shù)據(jù)類型總結(jié)

區(qū)別0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??python的3.0版本,常被稱為python3000,簡稱py3k。相對于python的早期版本,這是一個較大的升級為了不帶入過多累贅,python3.0在設(shè)計(jì)的時候沒有考慮向下相容。
??許多針對早期python版本設(shè)計(jì)的程序都無法在python3.0上正常執(zhí)行。為了照顧現(xiàn)有程序,python2.6作為一個過渡版本,基本使用了python2.x的語法和庫,同時考慮了向python3.0的遷移,允許使用部分python3.0的語法與函數(shù)。
??新的python程序建議使用python3.0版本的語法。除非執(zhí)行環(huán)境無法安裝python3.0或者程序本身使用了不支持python3.0的第三方庫。目前不支持python的第三方庫有Twisted,py2exe,PIL等。
大多數(shù)第三方庫都正在努力的兼容python3.0版本。即使無法立即使用python3.0,也建議編寫相容的3.0版本python程序,然后使用2.6,2.7來執(zhí)行。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

一、python3.0的一些變化0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

1.print函數(shù)0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??print語句沒有了,取而代之的是print()函數(shù)。python2.6與python2.7部分的支持這種形式的print語法。在python2.6與2.7里面以下三種形式是等價的0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

print "我是菜鳥"print (我是菜鳥) #注意print后邊有個空格print("我是菜鳥") #print()不能帶有其他任何參數(shù)

??然而python2.6實(shí)際上已經(jīng)支持新的print()語法0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

from _future_import print_functionprint("我是個菜鳥","我好菜啊",sep=', ')

2.Unicode0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??python2有ASCII str()類型,unicode()是單獨(dú)的,不是byte類型?,F(xiàn)在python3有了Unicode(utf-8)字符串,以及一個字節(jié)類:byte和bytearrays。由于python3.x源碼文件默認(rèn)使用utf-8編碼,這就使得以下代碼合法0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

我沒女友='I have no girlfriends'print(我沒女友)

3.除法運(yùn)算0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??python中的除法相較于其他語言會高端一些有些很復(fù)雜的規(guī)則,python中的除法有/與//兩個運(yùn)算符。
首先說除法,python2.x和大多數(shù)語言一樣,比如java和c,整數(shù)相除結(jié)果是一個整數(shù),把小數(shù)部分完全忽略掉,浮點(diǎn)數(shù)的除法會保留小數(shù)點(diǎn)的部分得到的一個浮點(diǎn)數(shù)結(jié)果。
??python3.x中除法就不再這樣做了,對于整數(shù)間的相除結(jié)果也會是浮點(diǎn)數(shù)。(這里可以用0/1來理解)
??而對于//除法,這種除法叫floor除法,會對除法的結(jié)果自動進(jìn)行一個floor操作,在python2.x和3.x中是一致的。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

#python2.x與3.x-1//2 #輸出值是-1

??注意的是并不是舍棄小數(shù)部分,而是執(zhí)行floor操作,如果要截取小數(shù)部分,那么就需要使用math模塊的trunc函數(shù)。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

4.異常0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??在python3中處理異常也輕微改變了,在python3中,我們使用as作為關(guān)鍵詞。捕獲異常的語法由 except exc,var改為 except exc as var。
??使用語法except(exc1,exc2) as var可以同時捕獲多種類別的異常。python2.6已經(jīng)支持這兩種語法。
·在2.x時代,所有類型的對象都是可以被直接拋出的,在3.x時代只有繼承BaseException的對象才可被拋出。
·2.x raise語句使用逗號將拋出對象類型和參數(shù)分開,3.x取消了這種奇葩寫法,直接調(diào)用構(gòu)造函數(shù)拋出對象即可。
??在2.x時代,異常在代碼中除了表示程序錯誤,還經(jīng)常做一些普通控制結(jié)構(gòu)應(yīng)該做的事,在3.x中可以看出,設(shè)計(jì)者讓異常變得更加專一,只有在錯誤發(fā)生的情況下才能用去用異常捕獲語句來處理。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

5.xrange0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??在python2中xrange()創(chuàng)建迭代對象的用法是非常流行的。比如:for循環(huán)或者是列表/集合/字典推導(dǎo)式。
??這個表現(xiàn)十分像生成器(比如:“惰性求值”)。但是這個xrange-iterable是無窮的,意味著你可以無限遍歷。
??由于它的惰性求值,如果你要遍歷它多次,xrange()函數(shù)比range()函數(shù)更快(比如for循環(huán))。盡管如此,對比迭代一次,不建議你迭代多次,因此生成器每次都從頭開始。
??在python3中,range()是像xrange()那樣實(shí)現(xiàn),以至于一個專門的xrange()函數(shù)都不再存在(在python3中xrange()會拋出命名異常。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

6.八進(jìn)制字面量表示0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??八進(jìn)制必須寫成0o777,原來的形式0777不能用了;二進(jìn)制0b111。新增了一個bin()函數(shù)用于將一個整數(shù)轉(zhuǎn)換成二進(jìn)制字串。python2.6已經(jīng)支持這兩種語法0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

7.不等運(yùn)算符0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

python2.x中不等于 !=和<>
python3.x中不等于只有!=0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

8.去掉了repr表達(dá)式"0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

python2.x中反引號"相當(dāng)于repr函數(shù)的作用
python3.x中去掉了"這種寫法,只允許repr函數(shù),感覺repr只有debug的時候才用,多數(shù)時候還是用str函數(shù)來用字符串描述對象。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

9.多個模塊被改名(根據(jù)PEP8)0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

舊名字新名字_winregwinregConfigParserconfigparsercopy_regcopyregQueuequeueSocketServersocketserverreprreprlib

??StringIO模塊現(xiàn)在被合并到新的io模組內(nèi)new,md5,gopherlib等模塊被刪除 。python2.6已經(jīng)支援新的io模組。
??httplibBase,HTTPServer,CGIHTTPServer,SimpleHTTPServer,Cookie,cookerlib被合并到http包內(nèi)。取消了exec語句只剩下exec()函數(shù)。python2.6已經(jīng)支援exec()函數(shù)。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

10.數(shù)據(jù)類型0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??python3.x去除了long類型,現(xiàn)在只有一種整型——int
??新增了bytes類型,對應(yīng)于2.x版本的八位串,定義一個butes字面量方法如下0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

b=b'lalala'type(b)#輸出<type 'bytes'>

str對象和bytes對象可以使用encode()(str->bytes)or.decode()(bytes->str)方法互相轉(zhuǎn)換。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

s=b.decode()b1=s.encode()

dict的.keys()、.items和.values()方法返回迭代器,而之前的iterkeys()等函數(shù)都被遺棄。同事去掉的還有dict.has_key(),用in替代它吧>_<。0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

總結(jié)0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

??總之一句話,用python3吧,不要再倔強(qiáng)了!
??才開始學(xué)習(xí)計(jì)算機(jī)不久,第一次寫博客,如果有問題希望大家指正,希望我們能一起學(xué)習(xí)一起進(jìn)步。共勉!

以上就是講解 python2與3的區(qū)別的詳細(xì)內(nèi)容,更多請關(guān)注少兒編程網(wǎng)其它相關(guān)文章!0IX少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 长子县| 石嘴山市| 武城县| 宁陵县| 乐都县| 兰考县| 南开区| 石泉县| 丰都县| 交城县| 天全县| 耒阳市| 呼伦贝尔市| 慈溪市| 双辽市| 岐山县| 岚皋县| 洮南市| 高唐县| 抚顺县| 怀柔区| 观塘区| 旺苍县| 南投县| 和龙市| 大足县| 沧州市| 武乡县| 溆浦县| 丹江口市| 邵东县| 望都县| 客服| 布拖县| 沁阳市| 洛南县| 江安县| 固安县| 班玛县| 东山县| 独山县|