<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          剛剛,Python3.10 正式發(fā)布了!終于增加了這個功能...

          共 1351字,需瀏覽 3分鐘

           ·

          2021-10-14 02:35

          你好,我是 zhenguo

          通過官網(wǎng)看到,Python 3.10 剛剛正式發(fā)布了!



          我說兩個新增的很香的功能,一個關(guān)于語法,另一個關(guān)于標注庫里的函數(shù)。


          1 match和case 語法


          熟悉 C++ 的程序員對于switch和case不會陌生,但是對于Python 3.10以前,很遺憾,Python一直沒有類似的語法,不過自從3.10開始Python終于有類似語法了!是 match和case,舉例如下:


          def?http_error(status):
          ????match?status:
          ????????case?400:
          ????????????return?"Bad?request"
          ????????case?401?|?403?|?404:
          ????????????return?"Not?allowed"
          ????????case?404:
          ????????????return?"Not?found"
          ????????case?418:
          ????????????return?"I'm?a?teapot"
          ????????case?_:
          ????????????return?"Something's?wrong?with?the?Internet"


          你看,與C++的switch和case用法是完全一樣的!


          2 更嚴謹?shù)?zip


          zip打包多個可迭代對象,配合for后接下來的操作以元組為基本單位,但是有一個有些致命的隱含問題,如下兩個列表a,b 長度不一致,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')


          為了解決這個問題,zip添加了一個布爾類型的參數(shù)?strict,這個變化也就是:


          3.10以前zip的原型:

          zip(*iterables)
          3.10以后增加一個布爾類型參數(shù)strict,默認為False
          zip(*iterables,?strict=False)


          只有當(dāng)其為True時,打包的可迭代對象長度不一致時會拋異常;當(dāng)為False時,與之前版本的zip完全相同,因此zip是完全向后兼容的。

          以上就是2個比較有用的更新。

          其他的一些變化還包括:
          • 新的類型標注特性
          • 重要的棄用、移除或限制,如PEP 632,棄用 distutils 模塊。
          • 新的特性:帶圓括號的上下文管理器
          • 更清楚的錯誤消息
          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  草逼男女 | 天堂AV一区二区 | 午夜操美女 | 精品免费囯产一区二区三区四区的使用方法 | 久久国产精品久久久 |