您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python 3.9 的新特性有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1. 字典更新和合并
字典添加兩個新的運算符:「|」和「|=」。「|」運算符用于合并字典,「|=」運算符用于更新字典。
字典合并:
字典更新:
2. 基于 PEG 的高性能解析器
Python 3.9 提出用高性能和穩定的基于 PEG 的解析器取代當前基于 LL(1) 的 Python 解析器。
當前的 CPython 解析器基于 LL(1),LL(1) 解析器是一個自頂向下的解析器,它從左到右解析輸入。
Python 3.9 提議將 LL(1) 替換為新的基于 PEG 的解析器,這意味著它將解除當前 LL(1) 語法對 Python 的限制。此外,當前的解析器修補了許多將要刪除的 hack。因此,從長遠來看,這會降低維護成本。
3. 新型字符串函數:刪除前綴和后綴
Python 3.9 將兩個新函數添加到 str 對象:
第一個函數用于刪除前綴:str.removeprefix(prefix)
第二個函數用于刪除后綴:str.removesuffix(suffix)
4. 對內置泛型類型提供類型提示
Python 3.9 通過刪除并行類型層次結構,使注釋程序變得更加簡單。Python 3.9 支持 typing 模塊所有標準集合中的泛型語法。
我們可以將 list 或 dict 直接作為列表和字典的類型注釋,而不必依賴 typing.List 或者 typing.Dict。因此,代碼現在看起來更加簡潔,而且更容易理解和解釋。
5. DateTime 支持 IANA 時區
zoneinfo 模塊被創建出來支持 IANA 時區數據庫。對 IANA 時區數據庫的支持已經添加到標準庫中。
IANA 時區通常稱為 tz 或 zone info。存在許多具備不同搜索路徑的 IANA 時區,用于為 date-time 對象指定 IANA 時區。例如,我們可以將對 datetime 對象設置搜索路徑「Continent/City」來設置 tzinfo。
如果傳入一個無效的密鑰,則會引發 zoneinfo.ZoneInfoNotFoundError 異常。
上述內容就是Python 3.9 的新特性有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。