Pythonの定数モジュールをハードコーディングしないで使う方法

テンプレートで定数を使う方法(カスタムタグを利用)Part2」という記事を書きました。こちらの方がよさそうです。

Pythonで定数を表現するには、定数用のモジュールを作成し、それに定数を定義してアクセスします。

例)

--- const.py ---

ATTR1 = u"attr1"

しかし、場合によっては、この「ATTR1」を使う際にハードコーディングしたくない場合があります。その場合は、以下のように「eval」関数を使えば実現できます。

例)

--- test2.py ---

import const
def get_const_attr(attr):
  return(eval("const." + attr))

print(get_const_attr(u"ATTR1"))  # Print "attr1"

この記事が役に立った場合、シェアしていただけると励みになります!!