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的值時方式不變
方便用戶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章