您好,登錄后才能下訂單哦!
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 = 'eric_idle'>>> member_since = date(1975, 7, 31)>>> f'{user=} {member_since=}'"user='eric_idle' member_since=datetime.date(1975, 7, 31)" >>> delta = date.today() - member_since>>> f'{user=!s} {delta.days=:,d}''user=eric_idle delta.days=16,075'
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 被合并回 CPython 了;
LOAD_GLOBAL 現在快了 40%;
pickle 現在默認使用協議 4,提高了性能;
以上就是python3.8新特性的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。