Python:访问器以及修改器
类中的属性
成都创新互联公司一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以成都网站建设、成都网站制作、移动互联产品、成都营销网站建设服务为核心业务。10余年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。
_属性名 不建议访问,暗示这个属性名是受保护的
想访问可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作
使用@property包装器来包装getter和setter方法,使得对属性的访问既安全又便捷
__属性名 访问不到
property 英[ˈprɒpəti]
美[ˈprɑːpərti]
n. 所有物; 财产; 财物; 不动产; 房地产; 房屋及院落; 庄园;
[例句]Richard could easily destroy her personal property to punish her for walking out on him
理查德能轻易毁掉她的私人财产来惩罚她对他的背叛。
[其他] 复数:properties
通过装饰器访问不建议访问的属性
# @property装饰器
class A:
def __init__(self):
self._x = 10
self._y = 20
@property
def y(self):
return self._y
@property
def x(self):
return self._x
a = A()
print(a.x, a.y)
setter 修改不建议访问的属性
class Person(object):
def __init__(self, name, age):
self._name = name
self._age = age
# 访问器 getter方法
@property
def name(self):
return self._name
# 访问器 getter方法
@property郑州好的妇科医院 http://www.zzkedayy.com/
def age(self):
return self._age
# 修改器 setter方法
@age.setter
def age(self, age):
self._age = age
def play(self):
if self._age <= 16:
print('%s正在画圈圈' % self._name)
else:
print('%' % self._name)
def main():
person = Person('王大锤', 12)
person.play()
# 修改属性
person.age = 22
person.play()
# 如果我们修改name属性
person.name = '她与断剑' # AttributeError: can't set attribute(不可修改)
if __name__ == '__main__':
main()
网页标题:Python:访问器以及修改器
文章转载:http://azwzsj.com/article/jjehpe.html