0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于Python3.9的4個(gè)新特性

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 14:46 ? 次閱讀

1.詞典聯(lián)合運(yùn)算符

這是我最喜歡的功能之一,語法非常優(yōu)美。

Python3.9,如果你有兩個(gè)詞典,現(xiàn)在可以用這些運(yùn)算符進(jìn)行合并和更新。

合并運(yùn)算符 "|":

圖片

還有update運(yùn)算符|=,它會(huì)更新原始字典:

a = {1: 'a', 2: 'b', 3: 'c'}
b = {4: 'd', 5: 'e'}
a |= b
print(a)
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

如果我們的詞典共享一個(gè)key,那么將使用第二個(gè)詞典中的value:

a = {1: 'a', 2: 'b', 3: 'c', 6: 'in both'}
b = {4: 'd', 5: 'e', 6: 'but different'}
print(a | b)
{1: 'a', 2: 'b', 3: 'c', 6: 'but different', 4: 'd', 5: 'e'}

使用可迭代對(duì)象進(jìn)行字典更新

|=操作符的另一個(gè)很酷的特性是能夠使用可迭代對(duì)象(例如列表或生成器)使用新的鍵值對(duì)更新字典:

a = {'a': 'one', 'b': 'two'}
b = ((i, i**2) for i in range(3))
a |= b
print(a)
{'a': '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è) substring 參數(shù),顧名思義,它將刪除字符串對(duì)應(yīng)的 substring 前綴,如果沒有對(duì)應(yīng)的前綴,返回原字符串。

** str.removesuffix(substring: string) **接收一個(gè) substring 參數(shù),它將刪除字符串的對(duì)應(yīng) substring 后綴,如果沒有對(duì)應(yīng)的后綴,返回原字符串。

圖片

當(dāng)然,這兩個(gè)函數(shù)你也可以通過使用 **string[:-len(suffix)]string[len(prefix):] **來實(shí)現(xià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)) **來處理大于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è)更改你可能看不見、摸不著,但它可能改變Python的未來。

以前Python使用 LL(1) 解析器,從Python 3.9 開始,將使用 PEG 解析器,官方認(rèn)為,這個(gè)更改會(huì)使得他們更加方便地構(gòu)建新功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    313

    瀏覽量

    20923
  • 詞典
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    8113
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84289
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    167

    瀏覽量

    11036
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python高級(jí)特性:迭代器切片的應(yīng)用

    在前兩篇關(guān)于 Python 切片的文章中,我們學(xué)習(xí)了切片的基礎(chǔ)用法、高級(jí)用法、使用誤區(qū),以及自定義對(duì)象如何實(shí)現(xiàn)切片用法(相關(guān)鏈接見文末)。本文是切片系列的第三篇,主要內(nèi)容是迭代器切片。 迭代器
    發(fā)表于 11-29 10:11 ?640次閱讀

    請(qǐng)問Python3.9的新功能是什么?

    。如果您實(shí)在迫不及待,可以在此處獲取最新的Beta版本-3.9.0b3?! ∩鲜鼍褪?b class='flag-5'>關(guān)于Python3.9的新功能是什么的全部內(nèi)容介紹,想了解更多關(guān)于Python的信息,請(qǐng)繼續(xù)關(guān)注我們
    發(fā)表于 09-02 18:55

    【HarmonyOS HiSpark AI Camera試用連載 】老驥伏櫪志在千里-再談編譯環(huán)境的搭建

    : No such file or directory這個(gè)不是touch命令不對(duì),而是路徑有誤,增加一個(gè)軟連接ln -s /bin/touch /usr/bin/touch3、同名沖突在使用python3.9編譯
    發(fā)表于 11-20 17:48

    關(guān)于stcgal在Embedded IDE中的使用問題

    關(guān)于stcgal在Embedded IDE中的使用問題安裝了python3.9和stcgal1.6,執(zhí)行燒錄時(shí)總是提示“串口錯(cuò)誤,下載超時(shí)”,stcgal無法與單片機(jī)握手,請(qǐng)高手指點(diǎn)!
    發(fā)表于 02-08 14:49

    關(guān)于Python編程入門系列教程》說明及教程匯總

    、繪圖命令小結(jié)(1)畫筆運(yùn)動(dòng)命令:(2)獲取畫筆狀態(tài)命令(3)畫筆控制命令(4)全局控制命令(5)更多命令關(guān)于Python編程入門系列教程》說明及教程匯總(出處: DF創(chuàng)客社區(qū) - 分享創(chuàng)造的喜悅)
    發(fā)表于 06-23 10:10

    【飛凌RK3588開發(fā)板試用】編譯源碼下載固件

    python3.9的那個(gè)報(bào)錯(cuò)。終于搞完了。在目錄rocdev下面,看到了這些固件包。現(xiàn)在是22.03分,用時(shí)差不多1個(gè)小時(shí)那樣,還是非??斓?。把update.img拷貝到win10準(zhǔn)備燒寫固件燒寫固件在
    發(fā)表于 02-26 22:20

    elftosb IMXRT1176珊瑚 OSError: [Errno 8] 執(zhí)行格式錯(cuò)誤怎么解決?

    \',check_call 中的文件“/usr/lib/python3.9/subprocess.py”,第 368 行 retcode = call(*popenargs, **kwargs)文件“/usr
    發(fā)表于 04-20 08:03

    OpenVINO工具套件和Python版本 3.9運(yùn)行install_prerequisites.sh腳本報(bào)錯(cuò)

    已安裝OpenVINO?工具套件和 Python* 版本 3.9。 運(yùn)行 install_prerequisites.sh 腳本。 遇到錯(cuò)誤: ERROR: Could not find a
    發(fā)表于 08-15 06:53

    關(guān)于Python的18個(gè)高效編程技巧

    做不到這樣,還扯啥高級(jí)呢? 01 交換變量 a=3 b=6 這個(gè)情況如果要交換變量在c++中,肯定需要一個(gè)空變量。但是python不需要,只需一行,大家看清楚了 a,b=b,a print(a)6
    發(fā)表于 12-16 15:07 ?1195次閱讀

    個(gè)有趣的關(guān)于Python 3.9版本新特性

    個(gè)有趣的關(guān)于Python 3.9版本新特性
    的頭像 發(fā)表于 10-08 14:47 ?3009次閱讀
    四<b class='flag-5'>個(gè)</b>有趣的<b class='flag-5'>關(guān)于</b><b class='flag-5'>Python</b> <b class='flag-5'>3.9</b>版本新<b class='flag-5'>特性</b>

    Python3.9的新特性必知圖

    Python3.9,「千呼萬喚始出來」。 先來速看下此次發(fā)布版本的重點(diǎn)。 新語法特性: PEP 584,為 dict 增加合并運(yùn)算符。 PEP 585,標(biāo)準(zhǔn)多項(xiàng)集中的類型標(biāo)注泛型。 PEP 614
    的頭像 發(fā)表于 11-05 15:33 ?1999次閱讀

    Python3.9的第一個(gè)維護(hù)版本候選版本發(fā)布

    近期,Python 3.9的第一個(gè)維護(hù)版本候選版本發(fā)布。 IT之家獲悉,Python 3.9.1rc1 是 Python 編程語言最新的主要
    的頭像 發(fā)表于 12-08 09:22 ?1630次閱讀

    手動(dòng)刪除python導(dǎo)致的問題如何解決?

    install pyserial 此時(shí)在python下import serial會(huì)提示找不到包,檢查發(fā)現(xiàn)默認(rèn)運(yùn)行的是python 3.8.5,但是pyserial被安裝在python3.9下面。由于所有的腳本都是跑在3.8.5
    的頭像 發(fā)表于 07-28 09:37 ?6089次閱讀

    關(guān)于python中非常實(shí)用的一個(gè)圖像處理庫 1

    Python3,簡單優(yōu)雅而功能強(qiáng)大,是圖像相關(guān)機(jī)器學(xué)習(xí)任務(wù)中算法工程師的親密合作伙伴。 下面我們將介紹pillow的16個(gè)圖片處理功能:
    的頭像 發(fā)表于 02-08 17:18 ?1275次閱讀

    Python3.10.0的特性介紹

    Python3.10.0有幾個(gè)特性,還真是值得和大家講講。 1. 更友好的錯(cuò)誤提示 Python 3.10以前,它是這樣提示的,你可能完全不知道哪里有問題,當(dāng)代碼過多。 print ( "Hello
    的頭像 發(fā)表于 10-31 10:43 ?411次閱讀
    <b class='flag-5'>Python</b>3.10.0的<b class='flag-5'>特性</b>介紹