关于未解析属性引用的Pycharm视觉警告

2024-03-28 21:13:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两门课是这样的:

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

  • 它警告我是有原因的吗(比如为什么我应该避免它)?
  • 有什么我应该做的不同吗?

Tags: theself警告returnobjectdefvarsclass
1条回答
网友
1楼 · 发布于 2024-03-28 21:13:16

BaseClass中引用self.THE_DCT,但是当PyCharm查看这个类时,它发现THE_DCT不存在。

假设你把它当作一个抽象的类,PyCharm不知道这是你的意图。它看到的只是一个访问属性的类,该属性不存在,因此它显示警告。

尽管您的代码运行得很好(只要您从不实例化BaseClass),但您应该将其真正更改为:

class BaseClass(object):
    THE_DCT = {}

    def the_dct(self):
        return self.THE_DCT

相关问题 更多 >