定数を定義する方法
Python
にはconst
キーワードはありませんが、一般的にはすべて大文字で変数を定義することで定数を表します。
MY_CONSTANT = 42
この方法は、他のプログラマにその変数が変更されるべきでないことを伝えるための慣習です。
Final
の使用
Python
3.8以降では、typing
モジュールのFinal
を使って、型チェッカーに定数であることを伝えることができます。
from typing import Final
PI: Final = 3.14159
Final
は再代入を防ぎたい定数に使用できますが、実際には再代入は可能です。mypy
のような静的型チェッカーがエラーを報告します。
クラスやプロパティを使った定数の定義
クラスを使って、定数を厳格に管理する方法もあります。property
デコレーターを使うことで、読み取り専用の定数を作成できます。
class Constants:
@property
def PI(self):
return 3.14159
これにより、クラス内で定数が変更されないようにできます。
まとめ
Python
では定数を強制する仕組みはありませんが、Final
や命名規則、property
やEnum
を使って定数を明示的に定義することが可能です。