可以这样认为__name两个下划线为private成员变量,只能本类使用,_name一个下划线为protected成员变量,可以在本类和子类中使用。
__name
_name
# coding:utf-8 class Animal(object): def __init__(self, name): self._name = name def run(self): print("animal %s is running..." % self.__name) class Dog(Animal): def __init__(self, name): Animal.__init__(self, name) def run(self): print("dog %s is running..." % self._name) class Cat(Animal): def __init__(self, name): Animal.__init__(self, name) def run(self): print("cat %s is running..." % self._name) if __name__ == '__main__': dog = Dog('lucky') cat = Cat('miao') dog.run() cat.run()
Sign in to make a reply
爱喝白开shui
可以这样认为
__name
两个下划线为private成员变量,只能本类使用,_name
一个下划线为protected成员变量,可以在本类和子类中使用。