偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

2021年的Python—時(shí)間軸和即將推出的功能

開發(fā) 后端
對(duì)于Python愛好者來說,顯然,有趣的時(shí)代即將到來。 瀏覽三個(gè)版本(3.8、3.9和3.10)的發(fā)布時(shí)間表,敦促我在即將到來的有趣的Python開發(fā)時(shí)間表中編制關(guān)鍵日期。

我們目前生活在Python 3.8的穩(wěn)定時(shí)代,上周發(fā)布了Python的最新穩(wěn)定版本3.8.4。 Python 3.9已經(jīng)處于其開發(fā)的beta階段,并且2020年7月3日預(yù)發(fā)布了beta版本(3.9.0b4),第五版beta預(yù)定于明天發(fā)布。 3.9的第一個(gè)穩(wěn)定版本預(yù)計(jì)將在2020年10月發(fā)布。Python3.10的開發(fā)也將于2020年5月開始,并且第一個(gè)beta版本預(yù)計(jì)在2021年5月開始。

對(duì)于Python愛好者來說,顯然,有趣的時(shí)代即將到來。 瀏覽三個(gè)版本(3.8、3.9和3.10)的發(fā)布時(shí)間表,敦促我在即將到來的有趣的Python開發(fā)時(shí)間表中編制關(guān)鍵日期。

"我媽媽總是說生活就像一盒巧克力。 你永遠(yuǎn)都不知道會(huì)得到什么。" - 阿甘

2021年的Python—時(shí)間軸和即將推出的功能

通常,在開發(fā)周期中會(huì)有4–5個(gè)beta版本,并且在第一個(gè)beta版本之后的版本中不會(huì)引入任何新功能。 對(duì)于3.8,beta-1已于2019年6月發(fā)布;對(duì)于3.9,beta-1已于2020年5月發(fā)布。盡管未來的Python 3.10剛剛啟動(dòng),但官方網(wǎng)站已經(jīng)在其一些亮點(diǎn)中進(jìn)行了簡要介紹。

這篇文章旨在簡要介紹時(shí)間軸,并預(yù)覽即將發(fā)布的新Python版本的主要功能,以改編Python網(wǎng)站上的官方示例。 請(qǐng)注意,我們可能會(huì)在3.10版中看到更多新功能,并且隨著時(shí)間的推移,我將繼續(xù)更新以下列表。

突出顯示Python 3.10中的功能

(1) 二進(jìn)制表示中的頻率為1

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

在后臺(tái),此方法僅調(diào)用strtype asstr.count('1')的count方法。 以下示例對(duì)此進(jìn)行了說明:

  1. # Positive integer 
  2. >>> num = 108 
  3. # Let's first get the binary representation of num 
  4. >>> bin(num) 
  5. '0b1101100' 
  6. >>> num.bit_count() 
  7. # Negative integer 
  8. >>> num = -108 
  9. >>> bin(num) 
  10. '-0b1101100' 
  11. >>> num.bit_count() 
  12. # Under the hood 
  13. >>> bin(num).count('1') 

(2) 壓縮將是"嚴(yán)格的"

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

如以下示例所示,在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之前:

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

在Python 3.10中:

  1. >>> list(zip(['A', 'B', 'C', 'D'], ['Apple', 'Ball', 'Cat'], strict=True))  
  2. 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ú)的變量中:

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

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

  1. >>> del fruits['Figs']  
  2. >>> del fruits['Guavas']  
  3. >>> print (list(keys), list(values))  
  4. ['Mangos', 'Kiwis'] [12, 70] 

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

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

(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。

  1. >>> from collections import ABC_Name 
  2.  
  3. 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 

這使我到本文的結(jié)尾。 隨著Python 3.10宣布更多的發(fā)行要點(diǎn),我將繼續(xù)將它們附加到本文中。 敬請(qǐng)期待,讓我們期待Python 3.10。 您可以在此處遵循當(dāng)前和即將發(fā)布的版本的發(fā)布時(shí)間表:3.8、3.9、3.10。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2023-01-06 16:33:33

2013-08-02 10:20:03

android時(shí)間軸

2021-04-16 06:48:39

Windows10操作系統(tǒng)微軟

2015-11-09 15:42:28

2015-03-31 13:36:37

編程時(shí)間軸插件詳細(xì)說明

2023-05-31 18:58:16

得物人事系統(tǒng)時(shí)間軸

2021-05-25 10:52:33

Windows10操作系統(tǒng)微軟

2014-08-15 15:01:29

時(shí)間軸

2021-09-13 14:18:29

iOS蘋果系統(tǒng)

2017-12-20 21:12:04

2021-02-20 09:36:11

數(shù)據(jù)大數(shù)據(jù)數(shù)據(jù)可視化

2021-04-15 07:14:06

Windows10操作系統(tǒng)21H2

2021-03-15 08:15:42

ES2021語言開發(fā)

2012-01-02 23:15:30

微軟

2021-04-15 12:45:05

Windows 10Windows操作系統(tǒng)

2018-04-08 18:29:22

Windows 10組織工具時(shí)間軸

2013-06-26 14:03:04

OuyaNvidia

2021-01-09 12:16:17

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)技術(shù)

2021-05-07 15:25:20

Bryan光纖網(wǎng)絡(luò)

2010-09-09 10:00:57

Android 3.5Honeycomb蜂巢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)