これは私のコードではありませんが、私は同様の問題があります:私は編集して変更します(可能な限り最もセマンティックな方法で)1中心的な場所にして、構築するために使用する多くのパラメータがありますPythonのいくつかのクラスや関数に多くのデフォルト値を指定する方法は?
https://gist.github.com/songrotek/0c64d10cab5298c63cd0fc004a94ba1f
をクラスは、メインプログラムなどを実行します。 私は1つのファイル(それは大きすぎます、私はモジュールと異なる名前空間が必要)とグローバル変数を宣言するすべてのものを入れたくないので。 いくつかのパラメータを設定するためのコードを編集するのは良い解決策ではないようです。
class Example:
def __init__(self, *initial_data, **kwargs):
for dictionary in initial_data:
for key in dictionary:
setattr(self, key, dictionary[key])
for key in kwargs:
setattr(self, key, kwargs[key])
initの辞書を使用できるようなコンストラクタを使用すると、十分に透過的ではないようです。
この問題の解決方法を教えてください。それはまだ私が主に使用しているコードで、かなり小さいので、軽量/サイズに適していて、使いやすく快適なものです。
あなたは '** kwargs'に辞書を渡すことができます。例えば、あなたの辞書が 'd'と呼ばれていたら、' ** d'を渡すことができます。それはあなたが意味することですか? – cdarke
あなたの懸念を正しく理解しているかどうかは不明ですが、ここで議論されていることの方向に向かいますか:[http://stackoverflow.com/questions/6198372/most-pythonic-way-to-provide-global-configuration- variables-in-config-py] –