参考资料
http://www.ibm.com/developerworks/library/os-pythondescriptors/
顾名思义,property用于生成一个属性,通过操作这个属性,可以映射为对某些函数的操作,类似于C#。
形式为
pvar = propery(get_func, set_func, del_fun, doc_func);
在get,set,del,doc的时候分别调用相应的函数;
尝试这样定义
>>> aa = property(lambda: "hello", lambda x: print(x))
>>> aa
<property object at 0x7fdcd9ecf9a8>
>>> aa = 1
看来property只有在class中才有意义(看后文)
>>> class Test:
... aa = property(lambda self: "hello", lambda self,x: print(x))
...
>>> t = Test()
>>> t.aa
'hello'