クラスメソッド内の新しい変数を宣言し、この2つの例の間に差がある場合、私は疑問に思って:私がしなければ基本的に私はPythonでクラスとメソッドの変数について読ん
class Example(object):
def __init__(self, nr1, nr2):
self.a = nr1
self.b = nr2
def Add(self):
c = self.a + self.b
return c
class Example2(object):
def __init__(self, nr1, nr2):
self.a = nr1
self.b = nr2
def Add(self):
self.c = self.a + self.b
return self.c
:
print Example(3,4).Add()
print Example2(3,4).Add()
は、だから私の質問はあり
7
7
:
私は同じ結果を得る
self.c = self.a + self.b
とc = self.a + self.b
の違いは何ですか?- クラス内で宣言されたすべての新しい変数は、
self
ステートメントで宣言する必要がありますか?
ありがとうございました!
'self.c'はオブジェクトに付けられた変数ですが、' c'は** local **変数です。 –
@WillemVanOnsem:メソッド内に新しいクラスインスタンス変数を宣言できますか? – Litwos
これらは**クラス変数ではありません**。これらは**オブジェクト変数**です。はい、オブジェクトは基本的に辞書であり、これらのアイテムをメソッドに追加/変更/削除することができます。 –