91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 3.10有哪些新特性

發布時間:2021-11-26 11:38:00 來源:億速云 閱讀:158 作者:iii 欄目:大數據

本篇內容介紹了“Python 3.10有哪些新特性”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.  二進制表示中的頻率為1

將引入一個新的方法bit_count(),該方法將返回整數的二進制表示形式中存在的個數。結果將獨立于整數的符號。此功能的一個用例是在信息論中,其中對于兩個等長的字符串,您可以找到兩個字符串不同的位置的總數。這種差異稱為漢明距離(參見Wiki)。在此處閱讀有關Python中此功能的歷史記錄。

在后臺,此方法僅調用strtype asstr.count('1')的count方法。以下示例對此進行了說明:

# Positive integer 
>>> num = 108 
# Let's first get the binary representation of num 
>>> bin(num) 
'0b1101100' 
>>> num.bit_count() 

# Negative integer 
>>> num = -108 
>>> bin(num) 
'-0b1101100' 
>>> num.bit_count() 

# Under the hood 
>>> bin(num).count('1') 
   

2. 壓縮將是"嚴格的"

新的可選關鍵字參數strict將添加到zip函數中。如果passstrict = True,則壓縮的可迭代項的長度必須相等,否則將引發ValueError。在Python 3.9之前,如果要壓縮兩個不等長的列表,則將得到長度等于較小列表的輸出。

如以下示例所示,在Python 3.10之前,zip()函數忽略了第一個列表中不匹配的'D'。相比之下,Python 3.10將引發ValueError。鑒于壓縮相同數量項目的直觀性,我喜歡此功能,因為它喚醒您重新檢查您的輸入。在PEP 618上了解有關此問題的更多信息。

在Python 3.10之前:

>>> list(zip(['A', 'B', 'C', 'D'], ['Apple', 'Ball', 'Cat']))  
[('A', 'Apple'), ('B', 'Ball'), ('C', 'Cat')] 
 

在Python 3.10中:

>>> list(zip(['A', 'B', 'C', 'D'], ['Apple', 'Ball', 'Cat'], strict=True))  
Traceback (most recent call last): ...ValueError: zip() argument 1 is longer than argument 2 
   

3. 字典的只讀視圖

字典的三個鍵方法keys(),values()和items()返回類似于集合的對象,這些對象分別對應于字典的鍵,值和項目的動態視圖。您在這兩個視圖中所做的任何更改也將反映在原始詞典中。

在Python 3.10中,從以上三種方法返回的所有視圖都將具有一個稱為mapping的附加屬性,該屬性將返回該映射的只讀代理。該只讀代理將包裝視圖引用的原始字典。以下示例對此進行了說明:

讓我們定義一個字典并將其鍵和值存儲在單獨的變量中:

>>> fruits = {'Mangos': 12, 'Figs': 100, 'Guavas': 3, 'Kiwis': 70}  
>>> keys = fruits.keys()  
>>> values = fruits.values()  
>>> list(keys)  
['Mangos', 'Figs', 'Guavas', 'Kiwis'] 
 

現在,我們使用thedel語句從此字典中刪除兩個元素。如果現在打印鍵和值,您將看到它僅返回其余項目。現在,原始詞典中的更改將反映在視圖中(此處為鍵和值)。

>>> del fruits['Figs']  
>>> del fruits['Guavas']  
>>> print (list(keys), list(values))  
['Mangos', 'Kiwis'] [12, 70] 
 

現在,通過映射,您將仍然能夠找回原始字典的只讀代理。cool! 是不是

# returns a read-only proxy of the original dictionary  
>>> values.mapping  
mappingproxy({'Mangos': 12, 'Figs': 100, 'Guavas': 3, 'Kiwis': 70})  
>>> values.mapping['Guavas']  

4. 消除一些向后兼容性

集合模塊的抽象基類(ABC)的別名支持將從Python 3.10開始刪除。因此,現在是停止忽略相應的"棄用警告"并改編代碼的好時機。高達Python 3.9.0b4(于2020年7月3日發布) 到現在為止,在DeprecationWarning中將直接從collections模塊中導入任何這些ABC。

>>> from collections import ABC_Name 
 
DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working 

“Python 3.10有哪些新特性”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇原县| 法库县| 商丘市| 黎平县| 米脂县| 民勤县| 龙川县| 焦作市| 鄂尔多斯市| 富民县| 望奎县| 额济纳旗| 镇远县| 孙吴县| 杭锦后旗| 汕尾市| 手机| 石城县| 麦盖提县| 吉林省| 泗洪县| 左贡县| 大同县| 杨浦区| 平果县| 新晃| 同仁县| 建湖县| 郸城县| 胶州市| 隆回县| 三门峡市| 巫溪县| 成武县| 饶平县| 禹城市| 柳林县| 高雄市| 金乡县| 应城市| 和政县|