Pythonの定数について解説しています。
載せているコードについてはPythonのバージョン3.11.0で動作を確認しました。
定数とは?
定数は、一意の名前に値を関連づけたものです。
変数は値が変えたりすることが可能ですが、定数を定義した後には基本的に値が変わりません。
プログラムの中で、値が変わらないものに名前をつけておくために使用します。(例えば、円周率など)
Pythonでは、大文字とアンダースコアで定義するのが一般的なようです。
PEP8というPythonのコーディング規約に記載があります。
例えば、下記のように定義します。
PI = 3.14
print(PI) # 3.14
PI
という定数を作って、値として「3.14
」を設定しました。
作成した定数を、print関数で出力すると「3.14
」が設定されています。
定数を定義する機能がない
他のプログラミング言語では、定数を作ったときに再度同じ定数に代入しようとするとエラーになります。
ですが、Pythonについては、定数を定義するための機能がありません。
そのため、先ほどのコードは変数と同じで、値を変更することができます。
PI = 3.14
PI = 3
print(PI) # 3
PI
定数に再代入して、値を「3.14
」から「3
」に変えました。
これは実行すると、エラーにならずに変更できてしまいます。
このように意識せずに使うと、定数の値を変更してしまう可能性があります。
そのため、プロジェクトで定数についての扱い方について、チームで認識を合わせておく必要がありそうです。
基本的には、大文字とアンダースコアで定義している変数は、定数とみなして変更しないように気をつけましょう。
コメント