51qsx 发表于 2015-4-24 07:47:18

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'
  
页: [1]
查看完整版本: Python property