Python 3.10から新たに導入された構文であるmatch
文は、非常に強力な機能であり、Pythonicなコードを書くのに役立つものです。この記事では、match
文とenum
を組み合わせた使用例について解説します。
match文の基本
match
文は、2つのキーワードmatch
とcase
を使用します。
match value:
case 1:
...
case _:
...
単純な値での分岐の他に、データ構造やアトリビュートのパターンでの分岐なども可能となっています。
enumとmatch文の組み合わせ
enum
をmatch
文と組み合わせることで、表示部分をモデルから分離して実装することが可能になります。
from enum import Enum
class Status(Enum):
TODO = 'todo'
INPROGRESS = 'inprogress'
DONE = 'done'
def decorate_status(s):
match s:
case Status.TODO:
print ('To Do')
case Status.INPROGRESS:
print ('In Progress')
case Status.DONE:
print ('Done')
case _:
raise ValueError ("Error!!!")
このように、match
文とenum
を組み合わせることで、コードの可読性と保守性を向上させることができます。
まとめ
Pythonのmatch
文とenum
は、組み合わせることで強力なツールとなります。適切に活用することで、よりPythonicなコードを書くことができます。これらの機能を理解し、うまく活用してみてください。