本篇內(nèi)容主要講解“Python 3.10中的功能有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python 3.10中的功能有哪些”吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供錯(cuò)那網(wǎng)站建設(shè)、錯(cuò)那做網(wǎng)站、錯(cuò)那網(wǎng)站設(shè)計(jì)、錯(cuò)那網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、錯(cuò)那企業(yè)網(wǎng)站模板建站服務(wù),十多年錯(cuò)那做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
突出顯示Python 3.10中的功能
(1) 二進(jìn)制表示中的頻率為1
將引入一個(gè)新的方法bit_count(),該方法將返回整數(shù)的二進(jìn)制表示形式中存在的個(gè)數(shù)。 結(jié)果將獨(dú)立于整數(shù)的符號(hào)。 此功能的一個(gè)用例是在信息論中,其中對(duì)于兩個(gè)等長(zhǎng)的字符串,您可以找到兩個(gè)字符串不同的位置的總數(shù)。 這種差異稱為漢明距離(參見Wiki)。 在此處閱讀有關(guān)Python中此功能的歷史記錄。
在后臺(tái),此方法僅調(diào)用strtype asstr.count('1')的count方法。 以下示例對(duì)此進(jìn)行了說明:
# Positive integer >>> num = 108 # Let's first get the binary representation of num >>> bin(num) '0b1101100' >>> num.bit_count() 4 # Negative integer >>> num = -108 >>> bin(num) '-0b1101100' >>> num.bit_count() 4 # Under the hood >>> bin(num).count('1')
(2) 壓縮將是"嚴(yán)格的"
新的可選關(guān)鍵字參數(shù)strict將添加到zip函數(shù)中。 如果passstrict = True,則壓縮的可迭代項(xiàng)的長(zhǎng)度必須相等,否則將引發(fā)ValueError。 在Python 3.9之前,如果要壓縮兩個(gè)不等長(zhǎng)的列表,則將得到長(zhǎng)度等于較小列表的輸出。
如以下示例所示,在Python 3.10之前,zip()函數(shù)忽略了第一個(gè)列表中不匹配的'D'。 相比之下,Python 3.10將引發(fā)ValueError。 鑒于壓縮相同數(shù)量項(xiàng)目的直觀性,我喜歡此功能,因?yàn)樗鼏拘涯匦聶z查您的輸入。 在PEP 618上了解有關(guān)此問題的更多信息。
在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) 字典的只讀視圖
字典的三個(gè)鍵方法keys(),values()和items()返回類似于集合的對(duì)象,這些對(duì)象分別對(duì)應(yīng)于字典的鍵,值和項(xiàng)目的動(dòng)態(tài)視圖。 您在這兩個(gè)視圖中所做的任何更改也將反映在原始詞典中。
在Python 3.10中,從以上三種方法返回的所有視圖都將具有一個(gè)稱為mapping的附加屬性,該屬性將返回該映射的只讀代理。 該只讀代理將包裝視圖引用的原始字典。 以下示例對(duì)此進(jìn)行了說明:
讓我們定義一個(gè)字典并將其鍵和值存儲(chǔ)在單獨(dú)的變量中:
>>> fruits = {'Mangos': 12, 'Figs': 100, 'Guavas': 3, 'Kiwis': 70} >>> keys = fruits.keys() >>> values = fruits.values() >>> list(keys) ['Mangos', 'Figs', 'Guavas', 'Kiwis']
現(xiàn)在,我們使用thedel語句從此字典中刪除兩個(gè)元素。 如果現(xiàn)在打印鍵和值,您將看到它僅返回其余項(xiàng)目。 現(xiàn)在,原始詞典中的更改將反映在視圖中(此處為鍵和值)。
>>> del fruits['Figs'] >>> del fruits['Guavas'] >>> print (list(keys), list(values)) ['Mangos', 'Kiwis'] [12, 70]
現(xiàn)在,通過映射,您將仍然能夠找回原始字典的只讀代理。 cool! 是不是
# returns a read-only proxy of the original dictionary >>> values.mapping mappingproxy({'Mangos': 12, 'Figs': 100, 'Guavas': 3, 'Kiwis': 70}) >>> values.mapping['Guavas'] 3
(4) 消除一些向后兼容性
集合模塊的抽象基類(ABC)的別名支持將從Python 3.10開始刪除。 因此,現(xiàn)在是停止忽略相應(yīng)的"棄用警告"并改編代碼的好時(shí)機(jī)。
高達(dá)Python 3.9.0b4(于2020年7月3日發(fā)布)
到現(xiàn)在為止,在DeprecationWarning中將直接從collections模塊中導(dǎo)入任何這些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
到此,相信大家對(duì)“Python 3.10中的功能有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
本文標(biāo)題:Python3.10中的功能有哪些
當(dāng)前URL:http://aaarwkj.com/article44/ihhhhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、做網(wǎng)站、網(wǎng)站維護(hù)、虛擬主機(jī)、建站公司、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)