Setter dict喜欢对象中的属性

时间:2017-03-03 14:05:33

标签: python

我尝试使用像对象中的属性一样的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新类?

1 个答案:

答案 0 :(得分:1)

您的错误很可能是您明确调用函数b的地方。 e.g。

x = A();
x.b();

@property不允许正常调用该函数,并将b完全视为普通实例变量,显然不可调用。