@property装饰器

python还提供了@property装饰器,可以使用对象名.属性的方法操作类属性,也保护了类的封装性。可以把方法名伪装成属性调用,方法名后面不需要加小括号

class Fruit:
    def __init__(self, fruit):
        self.__fruit = fruit

	# 修饰fruit()方法,使该方法变成fruit属性的getter方法,可以获得属性
    # 如果类中只包含该方法,那么fruit属性将是一个只读属性,不能对属性做修改
    @property
    def fruit(self):
        return self.__fruit

    # 要想修改fruit属性,还需要添加setter方法,使用以下装饰器
    @fruit.setter
    def fruit(self, value):
        self.__fruit = value
    # 要想删除fruit属性,使用deleter装饰器
    @fruit.deleter
    def fruit(self):
        self.__fruit = "属性已删除"

f1 = Fruit('苹果')
# 获取属性
print(f1.fruit)
#修改属性
f1.fruit = "香蕉"
print(f1.fruit)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值