首頁  >  文章  >  後端開發  >  python3.8新特性

python3.8新特性

藏色散人
藏色散人原創
2020-01-13 11:21:374225瀏覽

python3.8新特性

python3.8新功能

Python3.8穩定版已發布,官網發布了一篇介紹新特性的文章,在此記錄。

新增賦值運算子:=

作用:把較大表達式中的某部分值賦給變數,因為看起來像海象的眼睛和牙齒,:= 操作符有個特別的名字:海象運算子

範例1:

if (n := len(a)) > 10:    print(f"List is too long ({n} elements, expected <= 10)")

用了:= ,避免呼叫len() 兩次。

新增(僅限位置參數)的語法符號 /

作用:表示一些函數的參數,必須指定位置,且不能用作關鍵字參數。

範例

def f(a, b, /, c, d, *, e, f):    print(a, b, c, d, e, f)

在這個範例中,參數a 和b 是僅限位置參數的,而c 或d可以是僅限位置參數,也可以是關鍵字參數,e 和f 必須是關鍵字參數。

新增PYTHONPYCACHEPREFIX 設定(-X pycache_prefix)

作用:把隱式字節碼緩存,配置為使用單獨的平行檔案系統樹,而不是在每個來源目錄中使用預設的pycache 子目錄。

調試版本與發行版本共享ABI

f 字串新支援= 說明符,用於自記錄表達式和偵錯

f 字串是格式化的字串文字,它是在Python 3.6 中引入的,已經非常流行。

這次在 v3.8 中新增支援 = 說明符。

>>> user = &#39;eric_idle&#39;>>> member_since = date(1975, 7, 31)>>> f&#39;{user=} {member_since=}&#39;"user=&#39;eric_idle&#39; member_since=datetime.date(1975, 7, 31)"
>>> delta = date.today() - member_since>>> f&#39;{user=!s}  {delta.days=:,d}&#39;&#39;user=eric_idle  delta.days=16,075&#39;

PEP 578: Python Runtime Audit Hooks / 運行時審計掛鉤

PEP 新增了審計掛鉤和驗證開放掛鉤。這兩個版本都可以從Python 和原生程式碼(native code)中獲得,允許用純Python 程式碼編寫的應用程式和框架利用額外的通知,同時還允許嵌入式人員或系統管理員在始終啟用審計的情況下部署Python 建置。

PEP 587: Python Initialization Configuration

PEP 587 新增了一個新的C API,來配置Python 初始化,提供對整個配置的更好控制和更好的錯誤報告。

其他

continue 終於可以合法出現finally: 區塊中了;

在Windows ,預設的非同步(asyncio)事件循環改成了ProactorEventLoop

在macOS 上, spawn start 方法預設加到multiprocessing 中了

現在multiprocessing可以使用共享記憶體段,來避免進程間的pickle 開銷;

##typed_ast 被共享記憶體段,來避免進程間的pickle 開銷;

##typed_ast 被被指派合併回CPython 了;

LOAD_GLOBAL 現在快了40%;

pickle 現在預設使用協定4,提高了效能;

眾多python培訓影片,盡在python學習網,歡迎線上學習!

以上是python3.8新特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:python軟體介紹下一篇:python軟體介紹