Pythonでプログラムを書く際に、定数を設定する方法をまとめておきます。
基本的に、定数は大文字とアンダースコアで命名した変数です。
命名規則に厳密に従いたい場合には、以下のURLを参照してください。
https://www.python.org/dev/peps/pep-0008/#constants
定数を設定する
ファイルに定数を定義する場合には、以下のように記述します。
TEST_ENV_NAME = 'hoge'
TEST_ENV_VALUE = 5
定数は、定義した名称を指定するだけで利用ができます。
print(TEST_ENV_NAME)
print(TEST_ENV_VALUE)
上記内容を実行すると、以下のような出力となります。
hoge
5
モジュールに定数を設定する
setting.pyと言う名称で作成したファイルに定数を作成します。
setting.py
ENV = 'dev'
ENV_NAME = 'development'
次に、setting.pyを利用するファイルとして、test.pyを作成します。
test.py
import setting
print(setting.ENV)
print(setting.ENV_NAME)
test.pyを実行すると、以下のような出力となります。
dev
development
クラスに定数を設定する
最後に、クラス内に定数を定義する方法についてとなります。
ここでは、test_class.pyとしてファイルを作成します。
test_class.py
class TestClass:
TEST_NAME = 'test'
TEST_ARGS1 = 3
TEST_ARGS2 = 34
def display(self):
print(self.TEST_NAME)
print(self.TEST_ARGS1)
print(self.TEST_ARGS2)
次に、test_class.pyを利用するファイルとして、use_test_class.pyを作成します。
use_test_class.py
import test_class
TestClassObject = test_class.TestClass()
TestClassObject.display()
use_test_class.pyを実行すると、以下のような出力となります。
test
3
34
まとめ
定数とは言っていますが、javaなどの定数とは違い代入(値の変更)が出来てしまいます。
ただ、プログラム内で「1」など固定で設定する個所については、定数名に意味を持たせた内容にすることで、誰が見ても何となく理解ができるコードになるはずです。
この辺りの実装ルールを自身で心がけてコーディングして行くと、他の言語を書く際にもメンテナンス性に優れ、誰が見ても見易いコードが書けるようになるでしょう。