使用setattr设置的属性在PyCharm中显示为未解析的引用

时间:2015-04-07 17:03:08

标签: pycharm

我有一个使用setattr内置动态定义几个属性的类。但是,这些属性的所有使用都显示为PyCharm未解析的引用。有没有办法(通过代码或PyCharm设置)来帮助PyCharm解决这些属性?

2 个答案:

答案 0 :(得分:2)

不幸的是你不能。

从我的角度来看,您可以在动态属性上执行Alt + Enter并选择“忽略未解决的引用”来忽略警告。

或者,如果不想对所有类属性都执行此操作,则可以在类文档字符串中添加@DynamicAttrs。

这里有个例子:

class YourClassWithSeveralAttributes(object):
    """@DynamicAttrs""" # <-- here

    def __init__(self):
        setattr(self, 'foo', 1)
        setattr(self, 'bar', 2)
        setattr(self, 'foo1', 11)
        setattr(self, 'bar2', 22)

请记住,以前的解决方案都无法使PyCharm能够识别您的动态属性,而自动填充功能将不适用于这些属性。它们只是忽略警告的方式。

答案 1 :(得分:0)

尝试File-> Invalidate Caches / Restart-> Invalidate and Restart