Python中变量前面加不加self的区别

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变量相当于该方法中的一个变量,是一个局部变量。

猜你喜欢

转载自blog.csdn.net/LuckyMeizai/article/details/86080232