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