Pythonの変数の前にselfを加えない違い
477 ワード
class animal():
def __init__(self):
self.a = 5
class human():
def __init__(self):
a = 123
if __name__ == '__main__':
animal = animal()
print(animal.a)
human = human()
print(human.a) # AttributeError: 'human' object has no attribute 'a'
animalクラスのインスタンス化後、このメソッドの属性、selfを呼び出すことができる.aはこのメソッドの属性を表し、インスタンス化時に呼び出すことができ、グローバル変数である.
humanインスタンス化後,selfは使用されないため,a変数はこの方法の変数の1つに相当し,局所変数である.