Python 3.10では、新たな機能として構造的パターンマッチングが導入されました。この機能は、評価対象がパターンにマッチするかをチェックし、一致した場合の挙動を定義することができます。

match expression:
    case pattern1:
        ...
    case pattern2:
        ...

この新機能は、matchcaseというキーワードを使用します。expressionの部分にはPythonの式を指定し、patternの部分にはマッチさせるパターンを指定します。

例えば、JSONレスポンスが特定のキーを含むかどうかを判断する際に、この機能を利用することができます。

match response:
    case {'data': [{'id': _id}]}:
        if _id > 51515:  # guard
            print('response 1', _id)
    case {'data': [{'media': media}, *_]}:
        print('response 2', media)
    case {'errors': [{'code': code}, *_]}:
        print('response 3', code)

このように、Pythonの構造的パターンマッチングは、単純な値での分岐の他に、データ構造やアトリビュートのパターンでの分岐なども可能となっています。これにより、Pythonのコードがより直感的で読みやすくなります。

この記事では、Python 3.10の構造的パターンマッチングとJSONの組み合わせについて解説しました。この新機能を活用して、より効率的なコードを書くことができるようになりましょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です