日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 3.9特性,Python 3.9 正式版要来了,会有哪些新特性?

發布時間:2025/3/20 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 3.9特性,Python 3.9 正式版要来了,会有哪些新特性? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編譯:CSDN-明明如月,作者:James Briggs

Python 發布了版本號為 3.9.0b3 的 beta 版,后續即將發布 Python 3.9 的正式版。該版本包含了一些令人興奮的新特性,預計正式版發布以后這些特性能夠被大家廣泛使用。

本文主要介紹以下幾個方面:

新增字典合并運算

類型提示

字符串新增的兩個方法

新的 Python 解析器 —— 大贊!

接下來帶著大家了解一下這些特性以及它們的用法。

字典合并

這是我最喜歡的新特性,該特性的用法非常優雅。如果你想對兩個字典 a 和 b 進行合并,我們就可以使用合并操作。

合并的操作符為 | :

a?=?{1:?'a',?2:?'b',?3:?'c'}

b?=?{4:?'d',?5:?'e'}

c?=?a?|?b

print(c)

輸出結果:

[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

還可以使用合并更新操作 |= ,該操作符可以更新原始字典的數據:

a?=?{1:?'a',?2:?'b',?3:?'c'}

b?=?{4:?'d',?5:?'e'}

a?|=?b

print(a)

[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

在執行合并運算時,如果字典包含相同的 key, 運算結果將采用第二個字典的鍵值對:

a?=?{1:?'a',?2:?'b',?3:?'c',?6:?'in?both'}

b?=?{4:?'d',?5:?'e',?6:?'but?different'}

print(a?|?b)

[Out]: {1: 'a', 2: 'b', 3: 'c', 6: 'but different', 4: 'd', 5: 'e'}

可迭代對象的字典更新

|= 操作符另外一個非常棒的功能是使用一個可迭代對象(如列表或者生成器)的鍵值對更新字典:

a?=?{'a':?'one',?'b':?'two'}

b?=?((i,?i**2)?for?i?in?range(3))

a?|=?b

print(a)

[Out]: {'a': 'one', 'b': 'two', 0: 0, 1: 1, 2: 4}

如果你用標準的合并操作符 | 替換上面的 |=操作符,由于 | 操作符只允許字典類型進行合并,所以將導致 TypeError。

類型提示

Python 是動態類型的編程語言,這就意味著我們不需要在代碼中指定數據類型。

雖然可以這么做,但是這么做有時候容易讓人困惑,此時靈活性就成為了缺點。

從 3.5 版本開始,我們可以指定類型,但是仍然非常麻煩。這次對此進行了改進,大家看下面的這個例子:

左側沒有類型提示 vs 右側有類型提示

由于某個神秘的原因,我們想通過上圖所示的 add_int 函數,將相同的數字相加到一起。但是編輯器并不能很好地領會我們的意圖,由于兩個字符串也可以使用 + 進行連接所以并沒有給出警告。

現在我們可以指定函數的參數類型為 int,編輯器就能夠立即識別出上述問題。

通過類型提示,我們還能看到非常具體的類型,例如:

任何地方都可以使用類型提示,由于有了新的語法支持,看起來清爽多了。

上圖我們將 sum_dict 函數的參數定義為字典類型,將其返回值定義為 int 類型。test 的定義時也指定了類型。

新增字符串函數

雖然字符串函數并沒有其他特性那么“偉大”,由于非常實用,也值得在這里一提。新版本中添加了移除前綴和后綴的兩個字符串函數:

"Hello?world".removeprefix("He")

[Out]: "llo world"

Hello?world".removesuffix("ld")

[Out]: "Hello wor"

新的解析器

開發者不容易察覺到新的語法解析器帶來的變化,但是它有可能成為 Python 演變中的一個重要轉變。

Python 目前主要使用一種基于 LL (1)的語法,而這種語法可以通過 LL (1)解析器進行解析——該解析器從上到下、從左到右地解析代碼,只需要從詞法分析器中取出一個 token 就可以正確地解析下去。

我并不是非常清楚它的工作原理,但是我可以給出LL(1) 存在的一些問題:

Python 中包含非 LL(1) 語法,正因如此,當前語法采用了一些曲線救國的辦法,帶來了很多不必要的復雜性。

LL(1) 給 Python 語法造成了很多限制。某個相關話題 提到了下面代碼無法用當前的解析器進行解析(會造成 SyntaxError)。

with?(open("a_really_long_foo")?as?foo,

open("a_really_long_bar")?as?bar):

pass

LL(1) 不能處理左遞歸。特定的遞歸語法意味著解析樹時可能出現無限循環。Python 的締造者 Guido van Rossum 在這篇文章[1]中給出了解釋。

這些因素以及更多我無法理解的其他因素影響著 Python 的發展,它們限制了語言的演進。

新的解析器基于 PEG, 它將給 Python 開發者提供更大的靈活性,從 Python 3.10 開始[2]我們將能夠感受到這一點。

上面講解了 Python 3.9 版本的幾個重要特性。如果你迫不及待地想體驗最新的 beta 版 3.9.0b3 ,可以在這里[3]下載。

文章到此結束,感謝您的閱讀。

引用鏈接:

[1] https://medium.com/@gvanrossum_83706/left-recursive-peg-grammars-65dab3c580e1

[2] https://docs.python.org/3.9/whatsnew/3.9.html#pep-617-new-parser

[3] https://www.python.org/downloads/release/python-390b3/

總結

以上是生活随笔為你收集整理的python 3.9特性,Python 3.9 正式版要来了,会有哪些新特性?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕无线精品亚洲乱码一区 | 97人人超 | 奇米影视奇米色 | 九九热在线精品 | 天天舔天天射天天干 | 日韩色视频在线观看 | 三级视频小说 | 午夜院线| 欧美做爰xxxⅹ性欧美大片 | 日韩精品资源 | 蜜臀av午夜精品 | 草久在线观看 | 欧美视频在线免费看 | 五个女闺蜜把我玩到尿失禁 | 国产亚韩 | 91视频入口 | 黄色特级毛片 | 精品午夜福利视频 | 亚洲激情视频在线播放 | 黄色av一区| 免费日b视频 | 日免费视频 | 国产成人精品免高潮在线观看 | 淫五月天| 成人激情av | 久久国产精品网站 | 欧美日性视频 | 波多野一区二区 | 免费看黄色片的网站 | 一区二区影院 | 韩国明星乱淫(高h)小说 | 中文字幕一区二区久久人妻网站 | 亚洲xxxxxx| 国产成人三级一区二区在线观看一 | 黄色小网站在线观看 | 少妇的性事hd | 欧美久久伊人 | 超碰在97 | 国产精品免费大片 | 欧美成人国产精品一区二区 | 黄色成人毛片 | 在线观看一级片 | 日本中文字幕观看 | 毛片av在线播放 | 久草免费在线 | 日韩特黄 | 成人三级在线视频 | 九九热九九爱 | 三极片黄色 | 99精品一级欧美片免费播放 | 三级av在线 | 性色av一区 | 欧美大片免费在线观看 | 国家队动漫免费观看在线观看晨光 | 日日夜夜撸撸 | 玖草在线视频 | 91激情| 一本一道久久综合狠狠老精东影业 | 男生和女生一起差差差很痛的视频 | youjizz亚洲 | 丰满少妇av| aa成人| 女同性恋一区二区三区 | 福利一区二区在线 | 日欧一级片 | 国产精品久久麻豆 | 黄频在线观看 | 日韩成人免费视频 | 欧美极品少妇xxxxⅹ免费视频 | 毛片天堂 | 高清国产一区二区三区四区五区 | 国产传媒在线观看 | 成年网站免费观看 | 精品动漫3d一区二区三区免费版 | 男女做激情爱呻吟口述全过程 | 午夜免费福利视频 | 涩涩视频网 | 日韩精品一区二区三区丰满 | 91丨九色丨国产 | 九九精品国产 | 五月色婷 | 蘑菇av | 五月香蕉网 | www.黄色片| 午夜一级影院 | 亚洲国产综合在线 | 国产一精品一aⅴ一免费 | 又色又爽又黄18网站 | 涩色网 | 成人a站 | 台湾男男gay做爽爽的视频 | 在线观看色视频 | 色在线视频 | 亚洲av无码一区二区三区网址 | xxxxxx黄色 | 国产美女永久免费 | 99国产精品人妻噜啊噜 | 超碰碰97 | 欧美一区亚洲 |