Python 3.8 發(fā)布在即,核心開(kāi)發(fā)者團(tuán)隊(duì)讓我總結(jié)一下最近討論的 Python 4.0 預(yù)計(jì)推出的新功能,代碼名為“ Ouroboros:自噬蛇”。Python 4.0 是大家翹首以盼的新版本,也將成為 Python 歷史上的重大里程碑,在此感謝為之努力奮斗的 100 多名貢獻(xiàn)者。
經(jīng)過(guò)郵件列表上的論戰(zhàn),PEP8 里的一行 79 個(gè)字符的限制將增加至一行 89.5 個(gè)字符。IDE 用戶終于可以充分利用 30" 超寬 4K 顯示器的優(yōu)勢(shì)啦!這是我們對(duì)每行 100 個(gè)字符這一呼聲的妥協(xié),大家各退一步。
所有新的支持庫(kù)與標(biāo)準(zhǔn)庫(kù)模塊的標(biāo)題中必須包含 For Humans(“以人為本”)。
Python 4.0 終將推出一種新的字符串類(lèi)型,z-strings, 這是一種 C 語(yǔ)言風(fēng)格的空終止字節(jié)字符串。只要在字符串加上前綴 z,如 z'my string',Python 就會(huì)自動(dòng)將它轉(zhuǎn)換成空終止字符串(NULL-terminated)。注意:z-strings 不能用于現(xiàn)有需要獲取字符串參數(shù)的 API,應(yīng)該先將它解碼為 Unicode 字符串,或轉(zhuǎn)換為字節(jié)(bytes)。
Type-hinting(類(lèi)型提示)擴(kuò)展將提供一些更實(shí)用的功能。新推出的簡(jiǎn)化版類(lèi)型提示將被稱為 Type Whispering(類(lèi)型低語(yǔ))。
他碼弟,我們要用 libuv[1]為 Twisted acyncio 提供事件循環(huán)(Event Loop)支持。
Python 4.0 將支持在單一關(guān)鍵詞前使用 async 關(guān)鍵詞,并且鼓勵(lì)使用 async do so 這種方式。用 Cargo-Culting[2] 方式編程,讓魔法關(guān)鍵詞出現(xiàn)在所有地方也沒(méi)什么不好,大家都希望程序能跑得更快,是不是?
在 Python 3.7 版的 namedtuple 與 dataclasses 基礎(chǔ)上,Python 4.0 將增加幾個(gè)千行 Decorator-Hack,用以實(shí)現(xiàn)簡(jiǎn)單構(gòu)建類(lèi)型。
全局解釋鎖(GIL)已經(jīng)被移除了。
開(kāi)玩笑的!反之,我們一直努力,希望實(shí)現(xiàn)在一個(gè)線程里,處理多個(gè)解釋器數(shù)據(jù)結(jié)構(gòu)更容易。別客氣,以后再感謝我們吧!
需要將 bytes 轉(zhuǎn)為 str這件事,讓眾多被我們說(shuō)服從 Python 2.x 升級(jí)到 3.x 的公司為我們提供了不少工作機(jī)會(huì)。本著同樣的精神,很高興告訴大家,今后會(huì)有兩個(gè) int 類(lèi)型,其中,int 是 32 位帶符號(hào)的整數(shù),long 是 64 位帶符號(hào)的整數(shù)。可能會(huì)有人說(shuō) “Python 2 不就是這樣嗎?”,對(duì)于這點(diǎn),我們要告訴大家,以后再也用不了 int 了,要把它們都轉(zhuǎn)換為 long。
鑒于,Python 2 升級(jí) 3 的工具大獲成功,我們計(jì)劃推出 Python 3 升級(jí) 4 的工具,可以自動(dòng)將代碼轉(zhuǎn)換為上述新特性。
很遺憾,以下特性未能入選 Python 4.0 升級(jí)計(jì)劃:
我們嘗試過(guò)用 Rust 重寫(xiě)解釋器的部分功能,但沒(méi)人知道怎么禁用 borrow-cheker,所以只好放棄了。
沒(méi)有switch 語(yǔ)句,不過(guò),你可以用 dict。
concurrent.Pasts(過(guò)去) 與concurrent.Present(現(xiàn)在)沒(méi)有合并,不過(guò),沒(méi)關(guān)系,我們還有 future(未來(lái)),是不是?
沒(méi)人能搞懂 Twisted asyncio 如何運(yùn)作,屆時(shí),將不會(huì)對(duì)這方面的內(nèi)容有所改進(jìn)。Python 軟件基金會(huì)建議所有新項(xiàng)目都使用 gevent。
很抱歉,我們沒(méi)有對(duì)打包“環(huán)境”做出任何改進(jìn)。
我們十分期待新版發(fā)布,并會(huì)竭盡所能做好在它能用之前的幾個(gè)小版本。
要有信心!記住 Python 的宣言:
唯有死亡,才會(huì)永生!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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