我尝试像对象中的属性一样使用字典。这是一个玩具类。
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
类来允许我做到这一点?
最佳答案
您的错误可能是您在某个地方显式调用了函数b
。例如
x = A();
x.b();
@property
不允许正常调用函数,而将b
完全视为普通实例变量,显然是不可调用的。
关于python - Setter dict 就像对象中的属性一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42580980/