Python私有属性set和get方法2

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方法过滤的。
posted @ 2018-07-05 15:16  郭祺迦  阅读(400)  评论(0编辑  收藏  举报