python-类中的BIF-property()

通过一个属性来(查看,设置,删除)另一个属性

特点:

不需要用户接触方法名(getSize等)

当修改方法名时只需修改对应的property()参数,不用告诉用户调用方式不变,仍然是x

格式:

属性2 = property(查看属性1,重置属性1,删除属性1)

例子:

class C:
    def __init__(self,size = 10):
        self.size = size
    def getSize(self):
        return self.size
    def setSize(self,value):
        self.size = value
    def delSize(self):
        del self.size
    x = property(getSize,setSize,delSize)

c1 = C()
# 正常方法查看属性size
c1.getSize()
c1.size

# 用属性x查看属性size
c1.x       #执行第一个参数

#通过属性x,重置属性size的值
c1.x = 18       # 执行第二个参数

# 通过属性x,重置属性size
del c1.x        #执行第三个参数

如果需要修改方法名getSize为get_X_Size,只要修改代码为

class C:
    def __init__(self,size = 10):
        self.size = size
    def get_X_Size(self):	#改咯
        return self.size
        
    x = property(get_X_Size,setSize,delSize)	#改咯
c1 = C()

用户想调用属性size的值时方式不变
方便用户

猜你喜欢

转载自blog.csdn.net/weixin_40960364/article/details/105773755
今日推荐