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ā)者團隊讓我總結一下最近討論的 Python 4.0 預計推出的新功能岛抄,代碼名為“ Ouroboros:自噬蛇”忙厌。Python 4.0 是大家翹首以盼的新版本,也將成為 Python 歷史上的重大里程碑,在此感謝為之努力奮斗的 100 多名貢獻者子姜。
經過郵件列表上的論戰(zhàn),PEP8 里的
一行 79 個字符
的限制將增加至一行 89.5 個字符
。IDE 用戶終于可以充分利用 30" 超寬 4K 顯示器的優(yōu)勢啦假瞬!這是我們對每行 100 個字符這一呼聲的妥協(xié),大家各退一步迂尝。所有新的支持庫與標準庫模塊的標題中必須包含
For Humans
(“以人為本”)脱茉。Python 4.0 終將推出一種新的字符串類型,
z-strings
, 這是一種 C 語言風格的空終止字節(jié)字符串垄开。只要在字符串加上前綴z
琴许,如z'my string'
,Python 就會自動將它轉換成空終止字符串(NULL-terminated)溉躲。注意:z-strings
不能用于現有需要獲取字符串參數的 API榜田,應該先將它解碼為 Unicode 字符串,或轉換為字節(jié)(bytes)锻梳。Type-hinting(類型提示)擴展將提供一些更實用的功能箭券。新推出的簡化版類型提示將被稱為 Type Whispering(類型低語)。
他碼弟疑枯,我們要用 libuv[1]為
Twistedacyncio 提供事件循環(huán)(Event Loop)支持辩块。Python 4.0 將支持在單一關鍵詞前使用
async
關鍵詞,并且鼓勵使用async do so
這種方式。用 Cargo-Culting[2] 方式編程庆捺,讓魔法關鍵詞出現在所有地方也沒什么不好古今,大家都希望程序能跑得更快,是不是滔以?在 Python 3.7 版的
namedtuple
與dataclasses
基礎上捉腥,Python 4.0 將增加幾個千行 Decorator-Hack,用以實現簡單構建類型你画。全局解釋鎖(GIL)已經被移除了抵碟。
開玩笑的!反之坏匪,我們一直努力拟逮,希望實現在一個線程里,處理多個解釋器數據結構更容易适滓。別客氣敦迄,以后再感謝我們吧!
需要將
bytes
轉為str
這件事凭迹,讓眾多被我們說服從 Python 2.x 升級到 3.x 的公司為我們提供了不少工作機會罚屋。本著同樣的精神,很高興告訴大家嗅绸,今后會有兩個int
類型脾猛,其中,int
是 32 位帶符號的整數鱼鸠,long
是 64 位帶符號的整數猛拴。可能會有人說 “Python 2 不就是這樣嗎蚀狰?”愉昆,對于這點,我們要告訴大家麻蹋,以后再也用不了int
了跛溉,要把它們都轉換為long
。鑒于哥蔚,
Python 2 升級 3
的工具大獲成功倒谷,我們計劃推出Python 3 升級 4
的工具蛛蒙,可以自動將代碼轉換為上述新特性糙箍。
很遺憾,以下特性未能入選 Python 4.0 升級計劃:
我們嘗試過用 Rust 重寫解釋器的部分功能牵祟,但沒人知道怎么禁用
borrow-cheker
深夯,所以只好放棄了。沒有
switch
語句,不過咕晋,你可以用dict
雹拄。concurrent.Pasts
(過去) 與concurrent.Present
(現在)沒有合并,不過掌呜,沒關系滓玖,我們還有future
(未來),是不是质蕉?沒人能搞懂
Twistedasyncio 如何運作势篡,屆時,將不會對這方面的內容有所改進模暗。Python 軟件基金會建議所有新項目都使用gevent
禁悠。很抱歉,我們沒有對打包“環(huán)境”做出任何改進兑宇。
我們十分期待新版發(fā)布碍侦,并會竭盡所能做好在它能用之前的幾個小版本。
要有信心隶糕!記住 Python 的宣言:
唯有死亡瓷产,才會永生!
呆鳥云:“不知道各位看完本文有什么感想若厚,反正我是呆了拦英,引用文中一句話,‘Just kidding测秸!’疤估,這篇文章愚人節(jié)發(fā)布是不是會更好■耄”
呆鳥還云:“翻譯不易铃拇,四處求證、三天翻譯沈撞、兩天校對慷荔,只求一秒點贊〔常”
Python大咖談 - Kenneth Reitz 與 Mike Driscoll
Python大咖談 - Brett Cannon(一)
Python大咖談 - Brett Cannon(二)