【Python】刚刚,Python3.10 正式发布了!终于增加了这个功能...
通過官網看到,Python 3.10 剛剛正式發布了!
我說兩個新增的很香的功能,一個關于語法,另一個關于標注庫里的函數。
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 更嚴謹的 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添加了一個布爾類型的參數?strict,這個變化也就是:
3.10以前zip的原型:
zip(*iterables)3.10以后增加一個布爾類型參數strict,默認為False
zip(*iterables,?strict=False)只有當其為True時,打包的可迭代對象長度不一致時會拋異常;當為False時,與之前版本的zip完全相同,因此zip是完全向后兼容的。
以上就是2個比較有用的更新。
其他的一些變化還包括:
新的類型標注特性
重要的棄用、移除或限制,如PEP 632,棄用 distutils 模塊。
新的特性:帶圓括號的上下文管理器
更清楚的錯誤消息
往期精彩回顧本站qq群851320808,加入微信群請掃碼:
適合初學者入門人工智能的路線及資料下載
機器學習及深度學習筆記等資料打印
機器學習在線手冊
深度學習筆記專輯
《統計學習方法》的代碼復現專輯
AI基礎下載
黃海廣老師《機器學習課程》視頻課
黃海廣老師《機器學習課程》
總結
以上是生活随笔為你收集整理的【Python】刚刚,Python3.10 正式发布了!终于增加了这个功能...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android投屏(屏幕共享)设计需要考
- 下一篇: 2345王牌浏览器九宫格个性化设置