zoukankan      html  css  js  c++  java
  • Python property

    闲来无事,早就听说Python很优雅,来把玩一番,直接上代码撒

    #===============================================================================
    # @author: Cody
    # @date: 2013-05-09
    #===============================================================================
    
    
    '''
        property 完成了类似java中getter,setter的功能,甚至还包括了del属性的功能,具体使用方法两种
        如下面的例子所示
    '''
    
    class Cody:
        def __init__(self):
            self._x = None
            
        def getX(self):
            return self._x
        
        def setX(self,x):
            self._x = x
            
        def delX(self):
            del self._x
            
        x = property(getX,setX,delX,"test Property ")
    
    
    class Tom:
        def __init__(self,y = 0):
            self._y = y
    
        @property
        def y(self):
            return self._y
        
        @y.setter
        def y(self,y):
            self._y = y
        
        @y.deleter
        def y(self):
            del self._y
        
    if __name__ == "__main__":
        cody = Cody()
        cody.x = 10;
        
        print(cody.x)
        del cody.x
        print(cody.x)   # AttributeError: 'Cody' object has no attribute '_x'
  • 相关阅读:
    [JSOI2016]最佳团体
    CF125E MST Company
    CF482C Game with Strings
    CF379F New Year Tree
    CF1051F The Shortest Statement
    小a和uim之大逃离
    新魔法药水
    翻硬币
    [CQOI2017]小Q的棋盘
    UVA11729突击战
  • 原文地址:https://www.cnblogs.com/cody1988/p/3069107.html
Copyright © 2011-2022 走看看