Python 3.10剛發(fā)布,這5點非常值得學(xué)習(xí)!
人生苦短,快學(xué)Python!

1. 更友好的錯誤提示
Python 3.10以前,它是這樣提示的,你可能完全不知道哪里有問題,當(dāng)代碼過多。
print?("Hello"
print?("word")
??File?".\test.py",?line?2
????print?("word")
????^
SyntaxError:?invalid?syntax
對于Python 3.10,它是這樣提示:
File?".\test.py",?line?1
????print?("Hello"
??????????^
SyntaxError:?'('?was?never?closed
給你明確指示錯誤,太香了!
2. zip新增可選參數(shù):嚴(yán)格模式
zip新增可選參數(shù)strict, 當(dāng)該選項為True時,傳入zip的兩個可迭代項長度必須相等,否則將拋出 ValueError。
對于Python 3.10以前,沒有該參數(shù),當(dāng)二者長度不等時,以長度較小的為準(zhǔn)。
names?=?["a","b","c","d"]
numbers?=?[1,2,3]
z?=?zip(names,numbers)
for?each?in?z:
????print(each)
結(jié)果如下:
對于Python 3.10,設(shè)置strict為True。
d:測試.py?in?<module>
??????3?numbers?=?[1,2,3]
??????4?z?=?zip(names,numbers,strict=True)
---->?5?for?each?in?z:
??????6?????print(each)
ValueError:?zip()?argument?2?is?shorter?than?argument?1
3. with可以加括號
官方文檔中是這樣寫的:
with?(CtxManager()?as?example):
????...
with?(
????CtxManager1(),
????CtxManager2()
):
????...
with?(CtxManager1()?as?example,
??????CtxManager2()):
????...
with?(CtxManager1(),
??????CtxManager2()?as?example):
????...
with?(
????CtxManager1()?as?example1,
????CtxManager2()?as?example2
):
????...
這樣你一定看不懂,如果換成下面這種寫法呢?
with(
????p1.open(encoding="utf-8")?as?f1,
????p2.open(encoding="utf-8")?as?f2
):
????print(f1.read(),?f2.read(),?sep="\n")?
就是你現(xiàn)在可以一次性在with中,操作多個文檔了。
4. 結(jié)構(gòu)化模式匹配:match...case...
對,就是其他語言早就支持的的switch-case,Python今天終于提供了支持。
day?=?7
match?day:
????case?3:
????????print("周三")
????case?6?|?7:
????????print("周末")
????case?_?:?
????????print("其它")
5. 新型聯(lián)合運算符
以 X|Y 的形式引入了新的類型聯(lián)合運算符。
def?square(x:?int|float):?
????return?x?**?2
square(2.5)?
#?結(jié)果:6.25
新的運算符,也可用作 isinstance() 和 issubclass() 的第二個參數(shù)。
#?True
isinstance("a",?int|str)
#?True?
issubclass(str,?str|int)
我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。有任何問題,可以在公眾號后臺回復(fù):加群,回答相應(yīng)紅字驗證信息,進(jìn)入互助群詢問。
原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!
點擊下方閱讀原文可獲得更好的閱讀體驗
Python實用寶典?(pythondict.com)
不只是一個寶典
歡迎關(guān)注公眾號:Python實用寶典
評論
圖片
表情
