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

Python大咖談 - Kenneth Reitz 與 Mike Driscoll
Python大咖談 - Brett Cannon(一)
Python大咖談 - Brett Cannon(二)