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'

 

你可能感兴趣的:(property)