我尝试使用像对象中的属性一样的dict。这是一个玩具类。
class A(object):
def __init__(self):
self._b = {}
@property
def b(self):
return self._b
@b.setter
def b(self, value):
self._b['some_key'] = value
@property
正常工作,但setter
会出现此错误:
TypeError: 'dict' object is not callable
我猜问题是新对象无法访问dict。我必须创建一个允许我这样做的dict
新类?
答案 0 :(得分:1)
您的错误很可能是您明确调用函数b
的地方。 e.g。
x = A();
x.b();
@property
不允许正常调用该函数,并将b
完全视为普通实例变量,显然不可调用。