2011-08-11 6 views
3

私は単純なテキスト操作のための小さなスクリプトをPythonで書いています。これはたくさんの機能から成っています。これらの関数の中には、マジックナンバーや文字列定数が含まれているものがあります。それらをグローバル変数に格納しても構いませんか?私はそれらを変更するつもりはない、それらは定数のようなものです。これはPythonでグローバル変数を正式に使用していますか?

+0

もちろん、合法です。 –

答えて

6

はい、正当な使用です。多くの良いPythonコードで遭遇します。コンベンションは、そのような "定数"の名前をUPPER_CASEに書くことだけです。

1

はい、グローバル変数として定数を格納しても問題ありません。たとえばなど

LOGGER = ... 
STATIC_DIR = ... 

としてグローバル

4

が含まれていジャンゴ(PythonのWebフレームワーク)settings.pyファイルの設定の多くでこれを行うには、これは、定数を扱うの好ましい方法であります。ファイルの先頭に簡単に変更することができます。

また、ファイルを別のファイルに移動し、絶対インポートまたは相対インポートを使用することもできます。

from mypackage import constants as C# absolute -- any Python 
from . import constants as C# relative -- Python 2.6+ 
from .constants import * # Resist any temptation to do this! 
関連する問題