1. 詞典聯(lián)合運(yùn)算符
這是我最喜歡的功能之一,語(yǔ)法非常優(yōu)美。
在Python3.9,如果你有兩個(gè)詞典,現(xiàn)在可以用這些運(yùn)算符進(jìn)行合并和更新。
合并運(yùn)算符 “|”:
還有update運(yùn)算符|=,它會(huì)更新原始字典:
a = {1: ‘a(chǎn)’, 2: ‘b’, 3: ‘c’}
b = {4: ‘d’, 5: ‘e’}
a |= b
print(a)
{1: ‘a(chǎn)’, 2: ‘b’, 3: ‘c’, 4: ‘d’, 5: ‘e’}
如果我們的詞典共享一個(gè)key,那么將使用第二個(gè)詞典中的value:
a = {1: ‘a(chǎn)’, 2: ‘b’, 3: ‘c’, 6: ‘in both’}
b = {4: ‘d’, 5: ‘e’, 6: ‘but different’}
print(a | b)
{1: ‘a(chǎn)’, 2: ‘b’, 3: ‘c’, 6: ‘but different’, 4: ‘d’, 5: ‘e’}
使用可迭代對(duì)象進(jìn)行字典更新
|=操作符的另一個(gè)很酷的特性是能夠使用可迭代對(duì)象(例如列表或生成器)使用新的鍵值對(duì)更新字典:
a = {‘a(chǎn)’: ‘one’, ‘b’: ‘two’}
b = ((i, i**2) for i in range(3))
a |= b print(a)
{‘a(chǎn)’: ‘one’, ‘b’: ‘two’, 0: 0, 1: 1, 2: 4}
當(dāng)然,如果你用|這樣做,則會(huì)得到TypeError,因?yàn)樗荒苡糜赿ict類型之間的聯(lián)合。
2. 字符串方法
removeprefix()和removesuffix()
str.removeprefix(substring: string) 是一個(gè)方法,接收一個(gè)substring參數(shù),顧名思義,它將刪除字符串對(duì)應(yīng)的substring前綴,如果沒(méi)有對(duì)應(yīng)的前綴,返回原字符串。
str.removesuffix(substring: string) 是一個(gè)方法,接收一個(gè)substring參數(shù),它將刪除字符串的對(duì)應(yīng)substring后綴,如果沒(méi)有對(duì)應(yīng)的后綴,返回原字符串。
當(dāng)然,兩個(gè)函數(shù)執(zhí)行你可以通過(guò)使用string[len(prefix):]前綴和string[:-len(suffix)]后綴來(lái)實(shí)現(xiàn)。
這些是非常簡(jiǎn)單的操作,因此也是非常簡(jiǎn)單的功能,考慮到你可能經(jīng)常執(zhí)行這些操作,Python3.9 提供的這兩個(gè)內(nèi)置函數(shù)應(yīng)該能讓你非常爽。
3. 新的數(shù)學(xué)函數(shù)
Python 3.9 的數(shù)學(xué)模塊進(jìn)行了不少的優(yōu)化并添加了許多新功能。
比如以前gcd計(jì)算最大公因數(shù)的函數(shù)只能應(yīng)用于2個(gè)數(shù)字,這就很蛋疼,我們必須使用 math.gcd(80, math.gcd(64, 152))來(lái)處理大于2個(gè)數(shù)字的情況。
現(xiàn)在 gcd 允許計(jì)算任意數(shù)量的數(shù)字。
import math
# Greatest common divisor
math.gcd(80, 64, 152)
# 8
Math模塊中,第一個(gè)新增的功能是:
# 最小公倍數(shù)
math.lcm(4, 8, 5)
# 40
用于計(jì)算最小公倍數(shù):math.lcm,與gcd一樣,它允許可變數(shù)量的參數(shù)。
4. 新的解析器—PEG
這一個(gè)更改你可能看不見(jiàn)、摸不著,但它可能改變Python的未來(lái)。
以前Python使用 LL(1) 解析器,從Python 3.9 開(kāi)始,將使用 PEG 解析器,官方認(rèn)為,這個(gè)更改會(huì)使得他們更加方便地構(gòu)建新功能。
因此,請(qǐng)期待Python 3.10,Python團(tuán)隊(duì)或許能給我們帶來(lái)更多的驚喜!
責(zé)編AJX
-
字符串
+關(guān)注
關(guān)注
1文章
589瀏覽量
21219 -
源代碼
+關(guān)注
關(guān)注
96文章
2953瀏覽量
68119 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86445
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)Python3.9的新功能是什么?
OpenVINO工具套件和Python版本 3.9運(yùn)行install_prerequisites.sh腳本報(bào)錯(cuò)
來(lái)自無(wú)管局的四個(gè)關(guān)于微功率短距離無(wú)線電設(shè)備的回答
希捷推出BarraCuda SSD新品:采用SATA 6Gbps 接口,提供四個(gè)版本的容量
電容的四個(gè)主要特性
java四個(gè)引用的作用
從四個(gè)方面解讀PCB射頻電路基礎(chǔ)特性及重要因素
Python3.9的新特性必知圖
Python3.9的第一個(gè)維護(hù)版本候選版本發(fā)布
Python 3.11與之前Python 版本差異情況
關(guān)于MySQL8.0版本選型的小技巧

四個(gè)腿的電感是什么?有什么作用?
關(guān)于Python3.9的4個(gè)新特性

時(shí)間序列分析的四個(gè)基本Python庫(kù)介紹

評(píng)論