本帖最后由 zlj19931010 于 2017-4-14 10:18 编辑 
给class C定义一个x属性,x是你自定义类MyProperty的实例,
x = MyProperty(getX,setX,delX) 
MyProperty中
当要获取x值的时候触发__get__()执行class C中的getX函数 c.x
当要修改x值的时候触发__set__()执行class C中的setX函数        c.x = 12
当要删除x值的时候触发__delete__()执行class C中的delX函数        del c.x
- >>> c = C()
 - >>> c.x = 1
 - >>> c.x
 - 'haha1'
 - >>> del c.x
 
 复制代码 
还有x前面如果不加 _ 就会变成一个死循环 为什么呢?新手不懂啊啊啊啊
同名了肯定循环,比如
- class C:
 -     def __init__(self):
 -         self._x = None
 -     def getX(self):
 -         return self._x
 -     def setX(self,value):
 -         self._x = value
 -     def delX(self):
 -         del self._x
 -     _x = MyProperty(getX,setX,delX)
 
 复制代码 
init中的self._x = None触发setX函数
setX中 self._x = value,又触发setX,就循环了
具体小甲鱼有详细的解释
http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D403