定数を定義する方法

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や命名規則、propertyEnumを使って定数を明示的に定義することが可能です。