Pythonで定数を利用する方法

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」など固定で設定する個所については、定数名に意味を持たせた内容にすることで、誰が見ても何となく理解ができるコードになるはずです。

この辺りの実装ルールを自身で心がけてコーディングして行くと、他の言語を書く際にもメンテナンス性に優れ、誰が見ても見易いコードが書けるようになるでしょう。

関連する記事