变量资源管理器更改数据类型

时间:2018-04-06 10:16:52

标签: python python-3.x class spyder

我正在使用Spyder 3.2.7并且正在使用Variable explorer。我已经根据字典

编写了一个自定义类
class DateScheme(dict):
    """
    Container object for Date Schemes
    Dictionary-like object that exposes its keys as attributes.
    """

    def __init__(self, name):
        self.name = name
        # other keys omitted

    def __dir__(self):
        return self.keys()

    def __setattr__(self, key, value):
        self[key] = value

    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            raise AttributeError(key)

DateSchemeInstance = DateScheme("NewName")

当我运行上面的代码时,我在变量资源管理器中看到DateSchemeInstance,变量的类型是DateScheme(正如预期的那样)。当我双击它时,我看到它的描述但是Window标题已经是DateSchemeInstance - Dictionary (1 elements),实际上DateSchemeInstance的类型实际上已经改为字典,使得原始类的方法不可用。

我错过了什么或这是一个错误吗?任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Spyder维护者在这里)这当然看起来像一个bug。请在我们的issues tracker中打开一个问题,发布上述代码,以便我们调查此案例中发生的情况。