Contents
Python 3.9 版最近發佈了,增加了哪些新的功能請參考 – What’s New In Python 3.9
在 Twitter 上看到有開發者特別將這次的更新製作了視覺化的圖片,可以幫助你快速了解這次更新的重點

從這張圖片來看一下,這次更新的重點( 請注意!這張圖片並沒有包含全部的更新)
Dictionary 的合併功能
a = {"key1":1,"key2":2}
b = {"key3":3,"key4":4}
print(a|b) # 將 a 與 b 合併
>{"key1":1,"key2":2,"key3":3,"key4":4}
更新與合併 Dictionary
a = {"key1":1,"key2":2}
b = {"key2":3,"key4":4}
print(a|=b) #使用 b 的值更新與合併 a 的值
>{"key1":1,"key2":3,"key4":4}
在 DateTime 支援 IANA 時區
IANA 是時區資料庫
>>> from zoneinfo import ZoneInfo
>>> from datetime import datetime, timedelta
>>> #日光節約時間
>>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))
>>> print(dt)
2020-10-31 12:00:00-07:00
>>> dt.tzname()
'PDT'
>>> #標準時間
>>> dt += timedelta(days=7)
>>> print(dt)
2020-11-07 12:00:00-08:00
>>> print(dt.tzname())
PST
亂數位元產生
random.Random.randbytes()
新的字串操作方法可移除字串的前置/後置詞
string = "Hello World"
output = string.removeprefix("Hello ")
print(output)
>World
string = "Hello World"
output = string.removesuffix("World")
print(output)
>Hello
一致的套件匯入錯誤訊息
importlib.util.resolve_name() 現在會丟出 ImportError 而不是 ValueError
可以取消併發( concurrent ) 功能
concurrent.futures.Executor.shutdown()
新增了一個設定參數 cancel_futures,可以用來取消還沒開始執行的所有 pending futures
內建一般型別的型別提示
def print_value(input: str):
print(input)
#如果輸入不是 string 會得到通知
新的 Parser
Python 3.9 使用了一個新的解析器,該解析器基於 PEG 而不是 LL(1)。 新解析器的性能可以與舊解析器媲美,但是在設計新語言功能時,PEG 形式主義比LL(1)更靈活。 將在Python 3.10及更高版本中開始使用這種靈活性。
更詳盡的更新內容請參考 What’s New In Python 3.9
相關資訊
★ 歡迎使用 App / Email | Telegram 訂閱 網站更新★
你必須登入才能發表留言。