python写修改器_Python:访问器以及修改器

类中的属性

_属性名 不建议访问,暗示这个属性名是受保护的

想访问可以通过属性的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

def y(self):

return self._y

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方法

def name(self):

return self._name

# 访问器 getter方法

[email protected] http://www.zzkedayy.com/

def age(self):

return self._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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值