Python - 定数を定義する

Pythonでは定数をサポートしていませんが、型ヒント(typing)でチェックできます。

型ヒント(typing)で 定数 を指定する方法

typingモジュール から Final をインポートし、定数の型を Final で括ります。Final を使用するには、Python 3.8 以上のバージョンが必要です。
from typing import Final

定数名: Final[<定数の型>] = <定数値>

サンプルコード

次のサンプルコードは 文字列、整数、浮動小数点数 の定数を定義しています。
from typing import Final

# 文字列型の定数
URL: Final[str] = 'https://www.curict.com/'

# 整数型の定数
MAX_LENGTH: Final[int] = 20

# 浮動小数点数型の定数
PI: Final[float] = 3.14

アノテーション(annotation) と 型ヒント(typing) について

アノテーション はコードの可読性を向上させるために使用するもので、変数、クラス属性、関数のパラメータや返り値に ラベル を記述できます。

アノテーションは実行時に無視されるため自由に使用できますが、慣例として型情報を記述します。型情報の書式は PEP 484 で規定されており、typingモジュールを使用すると、規定通りに型ヒントの指定ができます。

定数の型ヒントは後に PEP 591 で規定され、Python 3.8 よりサポートされています。

型のチェック方法

アノテーションは実行時に無視されます。定数値の変更も可能で、エラーも発生しません。

エラーを検出するには mypy など、型ヒントを利用したチェックツールを使用します。

次の図は Visual Studio Code と mypy を使用して型チェックをしています。定数に対して値の代入を行っているため、エラーが発生しています。

Visual Studio Code と mypy で型チェック
Visual Studio Code と mypy で型チェック

参考資料

検証環境