self.variable構文を使用して変数を作成することと、それなしで変数を作成することの違いは何ですか?
私はそれをテストしていましたが、インスタンスから両方にアクセスできます。
class TestClass(object):
j = 10
def __init__(self):
self.i = 20
if __name__ == '__main__':
testInstance = TestClass()
print testInstance.i
print testInstance.j
ただし、の場所を入れ替えるとself
エラーになります。
class TestClass(object):
self.j = 10
def __init__(self):
i = 20
if __name__ == '__main__':
testInstance = TestClass()
print testInstance.i
print testInstance.j
>>NameError: name 'self' is not defined
だから私は、自己が初期化において特別な役割を果たしていることを収集します。しかし、私はそれが何であるかを完全には理解していません。