python--把一個方法變成屬性調用


# coding=utf-8

'''
裝飾器(decorator)可以給函數動態加上功能,對於類的方法,裝飾器一樣起作用。Python內置的@property裝飾器就是負責把一個方法變成屬性調用的:
@property:把一個getter方法變成屬性
@score.setter:負責把一個setter方法變成屬性賦值
'''
class Screen(object):
    
    #讀屬性
    @property
    def width(self):
        return self.value_of_width
    
    #寫屬性
    @width.setter
    def width(self, value):
        self.value_of_width = value
    
    @property
    def height(self):
        return self.value_of_height
    
    @height.setter
    def height(self, value):
        self.value_of_height = value
        
    @property
    def resolution(self):
        return self.value_of_height*self.value_of_width
    
if __name__ == '__main__':
    s = Screen()
    s.width = 1024
    s.height = 768
    print(s.resolution)
    assert s.resolution == 786432, '1024 * 768 = %d ?' % s.resolution


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM