亚洲免费一级高潮_欧美极品白嫩视频在线_中国AV片在线播放_欧美亚洲日韩欧洲在线看

您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 媒體報(bào)道 > Python 3.10 正式發(fā)布!全新六大特點(diǎn)解析!

Python 3.10 正式發(fā)布!全新六大特點(diǎn)解析!

來(lái)源:奇酷教育 發(fā)表于:

Python 3 10 正式發(fā)布!全新六大特點(diǎn)解析!

  2021年10月4日 Python 終于正式發(fā)布了 3.10 版本。
 
  全新六大特點(diǎn)
 
  match和case 語(yǔ)法
 
  更嚴(yán)謹(jǐn)?shù)?zip
 
  新的類型標(biāo)注特性
 
  重要的棄用、移除或限制,如PEP 632,棄用 distutils 模塊
 
  新的特性:帶圓括號(hào)的上下文管理器
 
  更友好的報(bào)錯(cuò)提示
 
  01
 
  全新六大特點(diǎn)
 
  1 match和case 語(yǔ)法
 
  Python 3.10 這個(gè)版本,最受關(guān)注的應(yīng)該就是 結(jié)構(gòu)模式匹配 —— match-case。

 
  下邊是最簡(jiǎn)單的一個(gè) match-case 的例子,看起來(lái)是不是非常的直觀簡(jiǎn)潔?
 
  def http_error(status):
 
      match status:
 
          case 400:
 
              print("Bad request")
 
          case 404:
 
              print("Not found")
 
          case 418:
 
              print("I m a teapot")
 
          case _:
 
              print("Something s wrong with the internet")
 
              return "Something's wrong with the Internet"
 
  你看,與C++的switch和case用法是完全一樣的!
 
  2 更嚴(yán)謹(jǐn)?shù)?zip
 
  zip打包多個(gè)可迭代對(duì)象,配合for后接下來(lái)的操作以元組為基本單位,但是有一個(gè)有些致命的隱含問(wèn)題,如下兩個(gè)列表a,b 長(zhǎng)度不一致,zip后丟失了a的元素 3:
 
  In [43]: a=[1,2,3]                                                              
 
  In [44]: b=['a','b']                                                            
 
  In [45]: for i in zip(a,b): 
 
      ...:     print(i) 
 
      ...:                                                                        
 
  (1, 'a')
 
  (2, 'b')
 
  為了解決這個(gè)問(wèn)題,zip添加了一個(gè)布爾類型的參數(shù) strict,這個(gè)變化也就是:
 
  3.10以前zip的原型:
 
  zip(*iterables)
 
  3.10以后增加一個(gè)布爾類型參數(shù)strict,默認(rèn)為False
 
  zip(*iterables, strict=False)
 
  只有當(dāng)其為True時(shí),打包的可迭代對(duì)象長(zhǎng)度不一致時(shí)會(huì)拋異常;當(dāng)為False時(shí),與之前版本的zip完全相同,因此zip是完全向后兼容的。
 
  3 帶括號(hào)的上下文管理器
 
  with可以加括號(hào)了,例如

 
  4 更友好的報(bào)錯(cuò)提示
 
  當(dāng)你的括號(hào)、引號(hào)未閉合時(shí),python會(huì)拋出更加清晰明了的錯(cuò)誤

 
 ?。ū疚膮⒖甲?Python官方文檔 : Python Release Python 3.10.0 | Python.org)