python之面向对象之property

  property这个属性是一个装饰器,我们通常可以用它使我们类中的方法调用的时候不需要括号,使得一些类似name的属性可以以obj.name来调用,给用户更好的体验,话不多说,上代码

property的基本使用

class Room:
    def __init__(self,name,age,width,height):
        self.name = name
        self.age = age
        self.__width = width
        self.__height =height
    @property#使调用时不用括号,看起来像是属性
    def show_area(self):
        return self.__height * self.__width

r1 = Room('alex','22',10,10)
print(r1.show_area)

#r如果要扩展,就可以在析构函数中加入一个高 ,在show中加入一个参数,就可以求出体积       而且没有改变调用接口

 

class Name:
    def __init__(self,name):
        self.__name = name
    @property
    def name(self):
        return self.__name

    @name.setter
    def name(self,val):

        self.__name = val

    @name.deleter
    def name(self):
        print('无法删除')
        del self.__name
        print('删除成功!')


m1 = Name('Marvelous')
m1.name = '周栩强'
print(m1.name)
del m1.name

  我们的显示结果如下:

周栩强
无法删除
删除成功!

  

 

转载于:https://www.cnblogs.com/swearBM/p/9752238.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值