PyCharm 认为未使用变量但显然在 class 方法内部?

PyCharm thinks variable is not used but clearly is inside class method?

出于某种原因 PyCharm 告诉我我的 5 个列表中的 3 个没有在我的函数中使用,但实际上它们在函数中被使用并且代码完成了预期的结果。

这是一种奇怪的行为。这是一个错误吗?

我已经看到 f-strings 报告误报的一些问题,但我认为这不是同一个问题。

   def filter_for_vzb_vzt(self, query_results):
        vzb_list = []
        vzt_list = []
        vzt_analyst_tkr = []
        vzb_analyst_tkr = []
        vzb_lpc_analyst_tkr = []

        with open('./Files/{}.json'.format('VZT_ACNA_LIST'), 'r') as df:
            vzt_analyst_tkr = json.load(df)

        with open('./Files/{}.json'.format('VZB_TAX_ACNA_LIST'), 'r') as df:
            vzb_analyst_tkr = json.load(df)

        with open('./Files/{}.json'.format('VZB_LPC_ACNA_LIST'), 'r') as df:
            vzb_lpc_analyst_tkr = json.load(df)

        self.process_vzb_mass(vzb_list, vzb_analyst_tkr, vzb_lpc_analyst_tkr)
        self.process_vzt_mass(vzt_list, vzt_analyst_tkr)
        self.active_time = False

您确实没有使用这些值。仔细阅读留言:

local variable <...> value is not used

PyCharm 非常具体 - 您正在为这三个变量分配一个新列表

<...> = json...

这些变量指向的原始空列表将被丢弃。

这些赋值不是有条件的,因此您永远不会使用那些空列表 - PyCharm 警告您您使用的不是空列表,而是变量本身。您可能应该只删除这些行 - 通常的做法是首先使用实际使用的值定义变量。