スタックオーバーフローの初めてのユーザー。
INTRO:私は最近、Pythonプログラミングの世界への魔法の冒険を始めました-私はそれが大好きです。今ではCからの厄介な移行ですべてが順調に進んでいますが、 HEADERファイル(.h)と同義です。
問題:中規模の辞書とリスト(約1,000個の要素)、長い列挙、および「#defines」(実際にはそうではありません)がありますが、それらをすべて整理するためのきれいな方法が見つかりません。 Cでは、それらをすべてヘッダーファイルに入れて、それについてもう一度考えることはありませんが、Pythonそれは不可能です。
現在の汚い解決策:MODULEまたはFUNCTION(複数の機能で必要な場合はモジュール)の上部にあるすべてのCONSTANT変数を初期化しています。
結論:誰かが定数変数をきれいに整理する方法を思いついたら、私は永遠に感謝します。
ありがとうSOたくさん!
定数を独自のモジュールに入れます。
# constants.py
RED = 1
BLUE = 2
GREEN = 3
次に、そのモジュールをインポートし、定数を使用します。
import constants
print "RED is", constants.RED
定数には任意の値を指定できます。ここでは整数を示しましたが、リストと辞書は同じように機能します。
通常、私はこれを行います:
ファイル:constants.py
CONSTANT1 = 'asd'
CONSTANT_FOO = 123
CONSTANT_BAR = [1, 2, 5]
ファイル:your_script.py
from constants import CONSTANT1, CONSTANT_FOO
# or if you want *all* of them
# from constants import *
...
これで、定数は1つのファイルにまとめられ、うまくインポートして使用できるようになりました。
個別のファイルconstants.py
を作成し、グローバルに関連するすべての定数をそこに入れます。次に、import constants
をconstants.SPAM
として参照するか、(疑わしい)from constants import *
を実行して、単にSPAM
またはEGGS
として参照します。
ここにいる間、Pythonはconstant定数をサポートしていません。慣例はALL_CAPS
で名前を付け、変更しないことを約束することです]それら。