クラス全体で値を使用するには、その値をそのインスタンスの属性にバインドする必要があります。例えば
:
class Abc(object): # put object here, not self
def method1(self):
self.v1 = 3 + 7 # now v1 is an attribute
def method2(self)
return 4 * self.v1
a = Abc()
a.method1()
a.v1 # -> 10
a.method2() # -> 40
しかし、通常は、いくつかのメソッドの呼び出しの後に上昇した属性を持っているのは良い習慣ではありませんので、あなたはまた、v1のデフォルト値を提供する必要があります。 __init__
に置く:
class Abc(object):
def __init__(self):
self.v1 = 0
def method1(self):
self.v1 = 3 + 7
def method2(self)
return 4 * self.v1
a = Abc()
a.v1 # -> 0
a.method1()
a.v1 # -> 10
a.method2() # -> 40
'v2 * v1 = v3'は' SyntaxError'を発生させるはずです。また、 'method1'の' v1'引数も無視されます。 –
注意してください。 – danihp
プログラミングを学ぶために使用しているチュートリアルは何ですか? **あなたの使用しているチュートリアルの名前またはリンクを** **更新してください。 –