【Python】刚刚,Python3.10 正式发布了!终于增加了这个功能...
通過官網(wǎng)看到,Python 3.10 剛剛正式發(fā)布了!
我說兩個(gè)新增的很香的功能,一個(gè)關(guān)于語法,另一個(gè)關(guān)于標(biāo)注庫里的函數(shù)。
1 match和case 語法
熟悉 C++ 的程序員對(duì)于switch和case不會(huì)陌生,但是對(duì)于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 更嚴(yán)謹(jǐn)?shù)?zip
zip打包多個(gè)可迭代對(duì)象,配合for后接下來的操作以元組為基本單位,但是有一個(gè)有些致命的隱含問題,如下兩個(gè)列表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')為了解決這個(gè)問題,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ì)象長度不一致時(shí)會(huì)拋異常;當(dāng)為False時(shí),與之前版本的zip完全相同,因此zip是完全向后兼容的。
以上就是2個(gè)比較有用的更新。
其他的一些變化還包括:
新的類型標(biāo)注特性
重要的棄用、移除或限制,如PEP 632,棄用 distutils 模塊。
新的特性:帶圓括號(hào)的上下文管理器
更清楚的錯(cuò)誤消息
往期精彩回顧本站qq群851320808,加入微信群請(qǐng)掃碼:
適合初學(xué)者入門人工智能的路線及資料下載
機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印
機(jī)器學(xué)習(xí)在線手冊(cè)
深度學(xué)習(xí)筆記專輯
《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯
AI基礎(chǔ)下載
黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課
黃海廣老師《機(jī)器學(xué)習(xí)課程》
總結(jié)
以上是生活随笔為你收集整理的【Python】刚刚,Python3.10 正式发布了!终于增加了这个功能...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android投屏(屏幕共享)设计需要考
- 下一篇: 2345王牌浏览器九宫格个性化设置