成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python3.10第二個alpha版本!最新特性值得關注

開發 前端
Python3.10 的第二個 alpha 版本已在 11 月初發布,相比于不久前發布的 3.9 版本,新版本對類型注釋擴展、zip、位計數、字典映射又有了新的改進。

 Python3.9 剛剛發布不久,Python3.10 的第二個 alpha 版本也已于 11 月初發布。透過這個版本,我們或許可以一窺 Python 的未來改變。

Python3.10第二個alpha版本!最新特性值得關注

Python3.10 第二個 alpha 版本的新功能包括以下三大部分:

類型注釋擴展

為什么類型注釋很重要

新方法和行為

Python3.10第二個alpha版本!最新特性值得關注

類型注釋擴展

Python3.9 版本對類型提示與注釋進行了徹底的修改和清理。Python3.10 版本似乎延續了這一趨勢,Python3.10 alpha 2 版本將類型注釋功能進行了擴展。

Python3.10第二個alpha版本!最新特性值得關注

從 Python 3.0 到 Python 3.10 類型注釋的變化。

類型注釋的延遲評估

類型注釋的評估始終在函數定義時執行,這意味著類型注釋以自上而下的方式逐行進行評估。這看似合乎邏輯,但存在兩個問題:

引用尚未定義的類型(前向引用)的類型提示無效,必須以字符串形式表示。例如應該是「“int”」而不是「int」(盡管這僅適用于自定義類型,而不是內置 / 預定義類型)。

由于需要執行類型提示,模塊導入的速度減慢。

因此,注釋將被存儲在 __annotations__,然后進行集中評估,即允許前向引用并首先執行模塊導入(以減少初始化時間)。

Union 操作符類型

Python 3.10 引入了 | 操作符。在注釋數據類型時,可以使用 | 作為 OR。例如,存在一個預計為 int 或 float 的變量,我們可以將其寫作 int | float:

在 3.10 之前的版本中,等效運算符使用 type.Union 方法進行編寫,例如 Union[int, float]。

TypeAlias 注釋

回到前向引用問題,避免前向引用的常見解決方案是將它們作為字符串寫入。

但是,將類型作為字符串編寫,會在將這些類型分配給變量時出現問題,因為 Python 假設字符串文本類型注釋只是一個字符串。

在使用類型注釋的地方使用該類型注釋變量將返回錯誤。例如:

我們正在嘗試使用 MyType 作為類型的別名(alias),但是 MyType 將被讀取為字符串值,而不是類型別名。

只要在后面的代碼中定義了 ClassName,這就是有效的。目前,這將引發注釋錯誤。

為了解決這個問題,該版本添加了一個顯式地將 MyType 識別為類型別名的方法:

為什么類型注釋很重要

Python 的強大之處在于它易于使用和掌握,原因之一就是我們不需要在整個代碼中顯式地定義類型。

這看似違背常理,但允許開發人員定義類型可以極大地增強代碼庫的可讀性和可維護性。例如從 transformers 庫的源代碼中提取如下內容:

即使沒有上下文,我們也可以讀取這些代碼,并了解應該向這些函數、類和方法提供哪些數據,以及應該返回哪些數據類型。

在復雜的代碼庫(甚至是簡單的代碼庫)中,類型注釋可以極大地提高可讀性。同時,并不是每個開發者都想(或需要)使用類型注釋,因此可選的、無異常的功能可以達到完美的平衡。

新方法和實現

除了類型注釋方面的更改之外,3.10 alpha 2 版本對其他核心功能也進行了一些更新。

為 Zip 添加等長標記

第一個是 PEP 618,它為 zip() 函數添加了一個可選的 strict 標記。設置 strict = True,如果 zip 的兩個輸入長度不等,則會引發錯誤。

Python3.10第二個alpha版本!最新特性值得關注

左側無 strict=True 標記,沒有引發錯誤,并且較長的列表被截斷用于創建壓縮生成器。如果設置 strict = True,就會引發錯誤。

整數的位計數

也叫做「總體計數」(population count)。這一新方法允許計算整數二進制表示中 1 的個數,只需寫 int.bit_count() 即可:

Python3.10第二個alpha版本!最新特性值得關注

字典視圖映射

三種字典方法 dict.keys()、dict.values() 和 dict.items() 返回字典的不同視圖。現在,將 mapping 屬性添加到每個視圖對象。

Python3.10第二個alpha版本!最新特性值得關注

這一新屬性是 types.MappingProxyType 對象,用來包裝原始字典。如果在視圖上調用它,則返回原始字典。

 

責任編輯:張燕妮 來源: 機器之心Pro
相關推薦

2012-05-07 23:41:43

JavaJVMCeylon

2011-02-18 14:04:27

Ubuntu 10.0

2009-11-05 09:54:03

盜版黨歐洲議會

2011-05-23 10:16:25

VMware微軟

2020-09-11 10:27:07

鴻蒙安卓操作系統

2021-11-04 06:58:31

Python開源特性

2011-11-01 10:21:16

UbuntuAndroid

2022-05-18 10:26:21

微軟Linux穩定版

2010-10-08 11:29:45

AndroidiPhone

2015-08-12 11:35:32

Windows 10Windows 8

2021-05-17 18:56:20

甲骨文云區域

2011-09-21 13:09:33

HTML 5

2010-10-25 06:33:43

戴爾dell虛擬化

2009-02-09 09:13:13

Windows 7BetaUAC

2017-05-17 06:34:18

Android谷歌

2010-10-14 13:54:07

AT&T

2019-06-19 09:00:33

驅動器安裝Windows 10

2022-04-06 08:22:13

useEffecthookrender

2018-08-26 23:31:11

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费日韩 | 在线免费观看a级片 | 欧美亚洲在线视频 | 精品欧美一区免费观看α√ | 超碰国产在线 | 国产高清视频在线观看 | 91污在线| 97精品国产手机 | 精品国产一区二区三区性色av | 久久一区二区三区四区 | 国产色片在线 | 久久久精品久久久 | 亚洲欧美激情四射 | 国产一区二区久久 | 日韩成人av在线 | 日韩成人精品一区 | 日韩在线免费视频 | 久久精品久久久久久 | 99精品国产一区二区青青牛奶 | 亚洲乱码国产乱码精品精的特点 | 91视视频在线观看入口直接观看 | 国产美女h视频 | 伊色综合久久之综合久久 | 精品久| 欧美日韩中文字幕在线 | 丁香色婷婷 | 在线91| 亚洲精品一区二区三区蜜桃久 | 一级特黄网站 | 欧美日韩一区二区在线 | 玩丰满女领导对白露脸hd | 欧美日韩免费一区二区三区 | 久久精品手机视频 | 国产69精品久久99不卡免费版 | 视频一区二区在线观看 | 免费观看的黄色网址 | 日韩视频在线播放 | 美日韩视频| 91香蕉| 成人av免费在线观看 | 成人毛片网 |