我有两个看起来像这样的类:
class BaseClass(object):
def the_dct(self):
return self.THE_DCT
class Kid(BaseClass):
THE_DCT = {'vars': 'values'}
# Code i ll be running
inst = Kid()
print(inst.the_dct)
继承必须是这样的;包含THE_DCT
的第二个类和包含def the_dct
的第一个类。
它工作正常,但我的问题是我在Pycharm(未解析的属性引用)中收到警告,关于THE_DCT
中的BaseClass
。
答案 0 :(得分:12)
在BaseClass
中你引用了self.THE_DCT
,但是当PyCharm查看这个类时,它会看到THE_DCT
不存在。
假设您将此视为抽象类,PyCharm并不知道这是您的意图。它所看到的只是一个访问属性的类,它不存在,因此它会显示警告。
虽然你的代码运行得很好(只要你永远不会实例化BaseClass
),你应该把它改为:
class BaseClass(object):
THE_DCT = {}
def the_dct(self):
return self.THE_DCT