[Python 3.10] 打開黑盒子:細談 Structural Pattern Matching

還沒看過上一篇的朋友請往這邊走。沒想到我那麼快就把 Structural Pattern Matching 的第二篇趕出來了,我好棒。 這一篇會把上次遺漏的細節都補上,特別是 Structural Pattern Matching 背後的運作機制。 那就直接進入我們的主題吧! PEP 634: Structural Pattern Matching比對映射(Mapping)我們在前一篇已經看過如何比對序列類型的容器了,這次要介紹的是映射(也就是 dict 那類的)類型的物件要如何比對。 就像序列是使用 [] 或 () 來比對,那映射當然就是使用 {} 來比對啦。 但要特別注意的是,映射物...

[Python 3.10] 比 switch 更強大:Structural Pattern Matching

幾天前無意間在推特上看到前 BDFL 發了一則有關 Python 3.10 的新功能 Pattern Matching 的推,就想說去看看那是什麼東東。結果一看不得了,這功能也太酷了吧!所以決定來寫幾篇文講講 Structural Pattern Matching 到底是何方神聖。 我預計會寫兩篇文章,一篇是粗略地介紹以及快速入門(此篇),而另一篇則會深入地談談 Pattern Matching 的語法以及細節等。 那我們就開始吧! PEP 634: Structural Pattern Matching這個功能最早是由 PEP 622 所提出,後來經過討論以及修改,整理成了 PEP 6...