class Person(object): count = 0 #类属性 def __init__(self,name,age):#实例属性 # self.__name = name#name是私有属性;私有属性接收是set/get方法; # self.__name 也可以用 self.setName(name) 这样的好处是在创建实例的时候,不用再重新去给赋值(调用set方法),初始化就可以赋值 self.setName(name) self.age = age def run(self): print(self.__name + "跑路") def setName(self,name):#注意:一个私有属性一个set方法 self.__name = name def getName(self):#一个私有属性一个get方法 return self.__name p = Person("123",12) # p.setName("123") print(p.getName())
注意:
设置对象属性(__init__()方法)时:self.__name和self.setName() 的区别
self.__name表示初始化值时是不会调用setName方法过滤的,重新赋值时也会调用
self.setName()在初始化值是就会调用setName方法过滤的。