python3.7.2,python3.8.1
chanong
新智慧編輯
來源:Python 軟件基金會
作者:文飛、小青
【新智元介紹】Python官方網(wǎng)站悄然宣布重磅消息:Python 3.7.0已正式發(fā)布!Python 3.6.6穩(wěn)定版也已發(fā)布。如果您仍在使用Python 2.7 和Python 3.5,請立即開始,因?yàn)槲覀円呀?jīng)更新了官方網(wǎng)站上的可下載文檔。
Python官網(wǎng)宣布Python 3.7.0已經(jīng)正式發(fā)布!
2018 年6 月27 日星期三
Python 3.7.0 現(xiàn)已推出(版本3.6.6 也已推出)。
我們代表Python 開發(fā)社區(qū)和Python 3.7 發(fā)布團(tuán)隊(duì)很高興地宣布Python 3.7.0 現(xiàn)已推出。 Python 3.7.0是Python語言的最新功能版本,包含許多新功能和優(yōu)化。您可以在此處下載Python 3.7.0。
https://www.python.org/downloads/release/python-370/
大多數(shù)Python 第三方庫也將很快支持3.7.0 軟件包。
有關(guān)3.7 系列中功能的更多信息,請參閱What's New in Python 3.7 文檔。 3.7.0 中所做更改的詳細(xì)信息可以在更改日志中找到。 3.7系列的維護(hù)版本將從2018年7月開始定期實(shí)施。
我們希望您喜歡使用Python 3.7。
附件:我們還很高興地宣布Python 3.6的發(fā)布,即Python 3.6.6的下一個維護(hù)版本:https://www.python.org/downloads/release/python-366/
我們要感謝所有幫助開發(fā)和發(fā)布Python 的志愿者。我們歡迎您通過志愿服務(wù)或組織捐贈來支持Python 軟件基金會的工作。
Python 3.7.0 的主要功能改進(jìn)
那么新發(fā)布的Python 3.7.0有哪些重要改進(jìn)呢?總的來說:
新的語法特征:
PEP 563,類型注釋的延遲評估
不向后兼容的語法更改:
async 和await 現(xiàn)在是保留關(guān)鍵字
新的庫模塊:
contextvars:PEP 567 上下文變量
數(shù)據(jù)類:PEP 557 - 數(shù)據(jù)類
導(dǎo)入庫.resources
新的內(nèi)置功能:
PEP 553,新斷點(diǎn)函數(shù)
改進(jìn)的Python數(shù)據(jù)模型:
PEP 562,自定義訪問模塊屬性
PEP 560,類型化模塊和通用類型的核心支持
dict 對象的插入順序保留性質(zhì)內(nèi)置于官方Python 語言規(guī)范中。
標(biāo)準(zhǔn)庫的主要改進(jìn):
asyncio 模塊添加了新功能并提高了可用性和性能
time 模塊添加了對納秒函數(shù)的支持,新函數(shù)以整數(shù)值形式返回納秒。
CPython 部署改進(jìn):
不要使用ASCII 作為默認(rèn)文本編碼
PEP 552,確定性.pycs
新的運(yùn)行模式
PEP 565,改進(jìn)了DeprecationWarning 的處理
C API 改進(jìn):
PEP 539,用于線程本地存儲的新C API
文檔改進(jìn):
PEP 545,翻譯Python 文檔
添加了日語、法語和韓語文檔
Python 3.7.0 的新特性
讓我們仔細(xì)看看這些功能。
PEP 563:推遲對評論聲明的評估
Python 的類型提示有兩個明顯的可用性問題。
注釋只能使用當(dāng)前范圍內(nèi)已存在的名稱。也就是說,注釋不支持任何類型的前向引用。對源代碼進(jìn)行注釋會對Python 程序的啟動時間產(chǎn)生負(fù)面影響。
這兩個問題都可以通過推遲注釋的評估來解決。編譯器不會在定義注釋時編譯執(zhí)行注釋中的表達(dá)式的代碼,而是將注釋保存為字符串。如果需要,您可以使用typing.get_type_hints在運(yùn)行時解析注釋。在不需要解析的常見情況下,注釋的存儲成本較低,并且可以減少啟動時間。
PEP 538:強(qiáng)制C 語言環(huán)境
Python 3 系列中持續(xù)存在的挑戰(zhàn)是確定合理的默認(rèn)策略來處理使用默認(rèn)C 或POSIX 語言環(huán)境的非Windows 平臺上當(dāng)前的“7 位ASCII”文本編碼假設(shè)。
PEP 538 更新了默認(rèn)解釋器命令行界面,以自動強(qiáng)制此區(qū)域設(shè)置為可用的基于UTF-8 的區(qū)域設(shè)置。設(shè)置LC_CTYPE 自動導(dǎo)致核心解釋器和C 擴(kuò)展(例如readline)假定UTF-8 作為默認(rèn)文本編碼而不是ASCII。
PEP 540:強(qiáng)制UTF-8 運(yùn)行時模式
您可以使用新的-X utf8 命令行選項(xiàng)和PYTHONUTF8 環(huán)境變量啟用CPython UTF-8 模式。
PEP 553:內(nèi)置斷點(diǎn)
Python 3.7 添加了內(nèi)置函數(shù)斷點(diǎn),作為進(jìn)入Python 調(diào)試器的簡單且一致的方式。
PEP 539:用于線程本地存儲的新C API
雖然Python提供了C API來支持線程本地存儲,但現(xiàn)有的線程本地存儲(TLS)API在所有平臺上都使用int來表示TLS密鑰,這符合POSIX標(biāo)準(zhǔn),可移植性并不是很重要。
PEP 539 通過向CPython 提供新的線程本地存儲(TSS) API 來改變這一點(diǎn),該API 取代了CPython 解釋器中現(xiàn)有TLS API 的使用,但棄用了現(xiàn)有API。 TSS API 使用新類型Py_tss_t 代替int 來表示TSS 密鑰。這允許您在具有本機(jī)TLS 密鑰定義的平臺上構(gòu)建CPython。
PEP 562:自定義對模塊屬性的訪問
Python 3.7 支持在模塊上定義__getattr__ 并在找不到模塊屬性時調(diào)用它。您還可以在模塊上定義__dir__ 。
PEP 564:時間內(nèi)置函數(shù)支持納秒
為了避免精度損失,PEP 564 在時間模塊中添加了六個新的“納秒”變量。
time.Clock_gettime_ns
time.clock_settime_ns
時間.monotonic_ns
time.perf_counter_ns
時間.process_time_ns
時間.time_ns
PEP 565:在__main__ 中默認(rèn)顯示DeprecationWarning
DeprecationWarning 的默認(rèn)處理已更改,因此默認(rèn)情況下會再次顯示這些警告。但前提是觸發(fā)警告的代碼直接在__main__ 模塊中執(zhí)行。
PEP 560:添加對類型模塊和泛型的支持
PEP 引入了兩種特殊方法,__class_getitem__ 和__mro_entries__,現(xiàn)在在大多數(shù)類和輸入的特殊結(jié)構(gòu)中使用。因此,不同類型上的各種操作現(xiàn)在速度提高了7 倍,可以在沒有元類沖突的情況下使用泛型,并且類型模塊中長期存在的錯誤已得到修復(fù)。
PEP 552:基于哈希的.pyc 文件
PEP 552 擴(kuò)展了pyc 格式,以允許使用源文件哈希而不是源時間戳進(jìn)行失效。這種.pyc 文件稱為“基于哈希”。默認(rèn)情況下,Python 仍然使用基于時間戳的失效,并且在運(yùn)行時不會生成基于哈希的.pyc 文件。可以使用py_compile 或compileall 生成基于哈希的.pyc 文件。
PEP 545:翻譯Python 文檔
PEP 545 描述了創(chuàng)建和維護(hù)Python 文檔翻譯的過程。添加了三種語言的翻譯。
? 日本:https://docs.python.org/ja/
? 法語:https://docs.python.org/fr/
?韓國:https://docs.python.org/ko/
開發(fā)運(yùn)行時模式:-X dev
您可以使用新的-X dev 命令行選項(xiàng)或新的PYTHONDEVMODE 環(huán)境變量啟用CPython 開發(fā)模式。在開發(fā)模式下,CPython 會執(zhí)行默認(rèn)情況下無法啟用的額外運(yùn)行時檢查。
提高性能并下載文檔
根據(jù)官方文檔,新升級中的各種優(yōu)化使Python在Linux上的啟動時間減少了10%,在macOS上減少了30%。
字節(jié)碼更改使方法調(diào)用速度提高了20%。
PEP 560 的功能可將輸入導(dǎo)入時間縮短7 倍,并加快許多輸入操作的速度。
優(yōu)化正在進(jìn)行中,請稍候。還有進(jìn)一步的優(yōu)化。
Python官方網(wǎng)站有非常全面的文檔,今天剛剛更新。
它還列出了轉(zhuǎn)換到新版本時出現(xiàn)的問題以及如何處理這些問題。
Python 3.7.0 目前可供下載:https://www.python.org/downloads/
還等什么,趕緊使用吧!
[加入社區(qū)]
Shinshibazono AI Technology + 我們正在招募行業(yè)社區(qū)。對AI技術(shù)+行業(yè)落地感興趣的同學(xué),請?zhí)砑又砦⑿盘枺?aiera2015_3入群。審核通過后,我們將邀請您入群。加入社區(qū)后務(wù)必更改群組備注(姓名-公司-職務(wù)。專業(yè)群組篩選更嚴(yán)格,請理解)。








