老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Python3.9有哪些新特性

這篇文章主要介紹“Python3.9有哪些新特性”,在日常操作中,相信很多人在Python3.9有哪些新特性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python3.9有哪些新特性”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創新互聯長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為右江企業提供專業的做網站、網站設計右江網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發。

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

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

  • 新增字典合并運算
  • 類型提示
  • 字符串新增的兩個方法
  • 新的 Python 解析器 —— 大贊!

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

 

1.字典合并

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

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

結果如下:

Python3.9有哪些新特性  

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

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

結果如下:

Python3.9有哪些新特性  

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

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

結果如下:

Python3.9有哪些新特性  
 

2.可迭代對象的字典更新

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

a = {'a': 'one', 'b': 'two'}
b = ((i, i**2) for i in range(3))
a |= b
print(a)
 

結果如下:

Python3.9有哪些新特性  

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

Python3.9有哪些新特性  
 

3.類型提示

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

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

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

Python3.9有哪些新特性  

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

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

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

Python3.9有哪些新特性  

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

Python3.9有哪些新特性  
 

4.新增字符串函數

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

"Hello world".removeprefix("He")
 

結果如下:

Python3.9有哪些新特性??

Hello world".removesuffix("ld")
 

結果如下:

Python3.9有哪些新特性  
 

5.新的解析器

開發者不容易察覺到新的語法解析器帶來的變化,但是它有可能成為 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]我們將能夠感受到這一點。

到此,關于“Python3.9有哪些新特性”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!


新聞名稱:Python3.9有哪些新特性
當前路徑:http://www.xueling.net.cn/article/jjiooe.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产在线观看一区 | 亚洲精一区 | 日韩亚射吧 | 97香蕉超级碰碰碰久久兔费 | 亚洲国产精品成人综合色 | 日韩一级精品 | 新狼窝色AV性久久久久久 | 永久免费看一区二区看片 | 国产良心大作白丝精厕 | 国产麻豆一精品一aV一免费软件 | 秋霞久草 | 国产精品一品二区三区四区18 | 日本熟妇人妻中出 | 色小姐av | 999国产精品一区 | 高清国产天堂在线bt免费 | 成年免费大片黄在线观看一级 | 日本高清一区二区视频 | 免费观看黃色A一级视频日本 | 亚洲成人av一区二区三区 | 国产乱淫精品一区二区三区毛片 | 色老头永久免费视频 | 最近新中文字幕大全高清 | 少妇真实被内射视频三四区 | 亚洲国产精品激情综合图片 | 美国黄色毛片 | 奇米色欧美一区二区三区 | 亚洲另类精品国产一级欧美忘忧草 | 在线亚洲精品国产二区图片欧美 | 5060网免费午夜8050 | 内射毛片内射国产夫妻 | 国产一级爽快片在线观看 | a级毛片免费全部播放无码 一区二区在线免费观看视频 | 欧美一区二区三区久久综合 | 国产a一级无码毛片一区二区三区 | 欧美国产亚洲精品久久久8v | 亚洲国产精品成人久久 | 人人天天操 | 人妻激情偷乱一区二区三区 | 在线天堂最新版资源 | 亚洲国产福利成人一区 |