私は大量のコードを書いていますが、Python クラスとその関数で変数を使用する最善の方法について十分な経験がありません。そのため、意見を求めたいと思いました。これが私がそれを行う方法の例です
class MyClass():
vara = 'Class Variable A'
def __init__(self):
self.varb = 'Class instantiation Variable B'
def a(self):
varc = 2
vard = 3
print 'def a function variables unchanged', varc, vard
MyClass.vara = 'Class Variable A now changed by def a'
def b(self):
print self.varb
self.varb = 'Class instantiation Variable B now changed by def b'
print self.varb
if __name__ == "__main__":
print MyClass.vara
a = MyClass()
a.a()
a.b()
print MyClass.vara
a.a()
これにより、この結果が得られます
Class Variable A
def a function variables unchanged 2 3
Class instantiation Variable B
Class instantiation Variable B now changed by def b
Class Variable A now changed by def a
def a function variables unchanged 2 3
django の私のアプリは、約 25 の関数を持つクラスを使用しています。これはテスト アプリケーションであり、各関数は API 呼び出しを表します。各 API 呼び出しは、結果に基づいていくつかの変数を提供します。関数によって設定されたこれらの変数を他の関数で使用する必要があります。つまり、これらのローカル関数変数を他の関数で呼び出す必要があります。これを行うための最良の方法を知りたいです。
上記の例では、クラス内の関数を使用してクラス変数 vara を設定できます。これを行うMyClass.vara = 'something'
か、インスタンス化コンストラクターにある変数を設定できます __init__
。次に、任意の関数を使用してこれらの変数を呼び出すことができます。
より良い方法は何ですか、またはこれを行うためのさらに良い方法はありますか?