Python2.x和Python3.x的區(qū)別

print

print 在Python2中作為語(yǔ)句,在Python3中作為函數(shù)
實(shí)例1:
print(''hello''):在Python2中(''hello'')是語(yǔ)句的一部分妻味,是一個(gè)整體正压;在Python3中''hello''是作為一個(gè)參數(shù)出入到函數(shù)中。
實(shí)例2:
print(''hello'', ''world''):在Python2中輸出一個(gè)元組弧可,在Python3中輸出兩個(gè)字符串默認(rèn)中間用空格隔開(kāi)蔑匣。
注:在Python2.6+中導(dǎo)入future模塊中的print_fuction才能將print當(dāng)做函數(shù)使用。

編碼

Python2默認(rèn)編碼ascii棕诵,Python3默認(rèn)編碼UTF-8,因此使用Python3不需要文件頂部寫(xiě)‘# coding=utf-8’凿将。

字符串

Python2中字符串有兩個(gè)類(lèi)型:unicode和str校套,前者表示文本字符串,后者表示字節(jié)序列牧抵,兩者沒(méi)有明顯的界限笛匙,開(kāi)發(fā)者也感覺(jué)很混亂。
Python3中做了嚴(yán)格的區(qū)分犀变,str表示字符串妹孙,byte表示字節(jié)序列,任何需要寫(xiě)入文本或者網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)都只接收字節(jié)序列获枝。


python編碼解碼問(wèn)題.png

補(bǔ)充:encode()和decode()
decode 解碼蠢正,encode 編碼:字符串在Python內(nèi)部的表示是unicode編碼,在做編碼轉(zhuǎn)換時(shí)省店,通常需要以u(píng)nicode作為中間編碼嚣崭, 即先將其他編碼的字符串解碼(decode)成unicode,再?gòu)膗nicode編碼(encode)成另一種編碼懦傍。
實(shí)例:s='中文' 如果是在utf8的文件中雹舀,該字符串就是utf8編碼,如果是在gb2312的文件中粗俱,則其編碼為gb2312说榆。這種情況下,要進(jìn)行編碼轉(zhuǎn)換,都需要先用 decode方法將其轉(zhuǎn)換成unicode編碼签财,再使用encode方法將其轉(zhuǎn)換成其他編碼串慰。

True和False

True和False在Python2中是兩個(gè)全局變量,數(shù)值上對(duì)應(yīng)1和0荠卷,既然是變量就可以被賦值模庐,但這樣容易造成混亂;故在Python3中 True和False變?yōu)閮蓚€(gè)關(guān)鍵字油宜,永遠(yuǎn)指向兩個(gè)固定對(duì)象掂碱,不允許被重新賦值。

迭代器

Python2中很多返回列表對(duì)象的內(nèi)置函數(shù)和方法在Python3中都改成了返回類(lèi)似于迭代器的對(duì)象慎冤,迭代器的惰性求值特性使得操作大數(shù)據(jù)更加有效率疼燥。
補(bǔ)充:惰性求值不要求加載好整個(gè)迭代過(guò)程中所有的元素。迭代器僅僅在迭代至某個(gè)元素時(shí)才計(jì)算該元素蚁堤,而在這之前或之后醉者,元素可以不存在或者被銷(xiāo)毀,大大節(jié)約內(nèi)存披诗。
字典對(duì)象dict.keys()撬即、dict.values()方法都不再返回列表,而是生成一個(gè)類(lèi)似迭代器的“view”對(duì)象返回呈队。高階函數(shù)map剥槐、filter、zip返回也都從列表變成了對(duì)象宪摧。Python2的迭代器必須實(shí)現(xiàn)next方法粒竖,二Python3改成了next

nonlocal

在Python2中可以在函數(shù)中使用global聲明變量為全局變量几于,但是給一個(gè)變量聲明為非局部變量是無(wú)法實(shí)現(xiàn)的蕊苗。在Python3,新增了關(guān)鍵字nonlocal沿彭,使得定義非jubu變量成為了可能朽砰。

1/2在Python2中結(jié)果是0,Python3中是0.5

其實(shí)也就是Python2中 / 的作用就是地板除膝蜈,而在Python3中用 // 作為地板除锅移。

模塊改名

一些相關(guān)的模塊放進(jìn)同一個(gè)包里面(如httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib放進(jìn)了http里面,urllib , urllib2, urlparse, robotparse放進(jìn)了urllib里面)饱搏,SocketServer改成了socketserver非剃,Queue改成queue等。

一些新語(yǔ)法

print/exec等成為了函數(shù)推沸,格式化字符串變量备绽,類(lèi)型標(biāo)注券坞,添加了nonlocal、yield from肺素、async/await恨锚、yield for關(guān)鍵詞和annotationscontext倍靡、traceback猴伶、qualname等dunder方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塌西,一起剝皮案震驚了整個(gè)濱河市他挎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捡需,老刑警劉巖办桨,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異站辉,居然都是意外死亡呢撞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)饰剥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)殊霞,“玉大人,你說(shuō)我怎么就攤上這事汰蓉∨Ь椋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵古沥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我娇跟,道長(zhǎng)岩齿,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任苞俘,我火速辦了婚禮盹沈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吃谣。我一直安慰自己乞封,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布岗憋。 她就那樣靜靜地躺著肃晚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仔戈。 梳的紋絲不亂的頭發(fā)上关串,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天拧廊,我揣著相機(jī)與錄音,去河邊找鬼晋修。 笑死吧碾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墓卦。 我是一名探鬼主播倦春,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼落剪!你這毒婦竟也來(lái)了睁本?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤著榴,失蹤者是張志新(化名)和其女友劉穎添履,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體脑又,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暮胧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了问麸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往衷。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖严卖,靈堂內(nèi)的尸體忽然破棺而出席舍,到底是詐尸還是另有隱情,我是刑警寧澤哮笆,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布来颤,位于F島的核電站,受9級(jí)特大地震影響稠肘,放射性物質(zhì)發(fā)生泄漏福铅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一项阴、第九天 我趴在偏房一處隱蔽的房頂上張望滑黔。 院中可真熱鬧,春花似錦环揽、人聲如沸略荡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)汛兜。三九已至,卻和暖如春跨扮,著一層夾襖步出監(jiān)牢的瞬間序无,已是汗流浹背验毡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帝嗡,地道東北人晶通。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像哟玷,于是被迫代替她去往敵國(guó)和親狮辽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354