|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class MyProperty:
def __init__( self, fget = None, fset = None, fdel = None ):
self.fget = fget
self.fset = fset
self.fdel = fdel
def __get__(self, instance, owner):
return self.fget(instance)
def __set__(self, instance, value):
self.fset(instance, value)
def __delete__(self, value):
self.fdel(instance)
class C:
def __init__(self):
self._x = None
def getX(self):
return self._x
def setX(self):
self._x = value
def delX(self):
del self._x
x = MyProperty(getX, setX, delX)
>>>#运行改程序后报错
>>> c = C()
>>> c.x = "X-man"
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
c.x = "X-man"
File "C:/Python36/p12_7.py", line 9, in __set__
self.fset(instance, value)
TypeError: setX() takes 1 positional argument but 2 were given
>>>
我自己也试着将self.fset(instance, value), 两个参数删掉1个,但会报错找不到参数.
实在找不出原因,请求帮助
|
|