property ( [ fget [, fset [, fdel [, doc ] ] ] ] )

   
   
   
   
  1. class C(object): 
  2.     def __init__(self): 
  3.         self._x = None 
  4.  
  5.     def getx(self): 
  6.         return self._x 
  7.     def setx(self, value): 
  8.         self._x = value 
  9.     def delx(self): 
  10.         del self._x 
  11.     x = property(getx, setx, delx, doc="I'm the 'x' property.") 

If then c is an instance of C, c.x will invoke the getter, c.x = value will invoke the setter and del c.x the deleter.

If given, doc will be the docstring of the property attribute.

 

其实这样看来 property 就是,赋值和读取这2个函数以及删除 集合在一个object里,在实际的代码中,不用显示的写这几个函数,而是通过语句含义隐示的调用这几个函数。


http://docs.python.org/2/library/functions.html