PyCharm认为未使用变量,但显然是内部方法吗?

时间:2019-08-05 20:43:08

标签: python methods pycharm false-positive

出于某种原因,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

enter image description here

1 个答案:

答案 0 :(得分:0)

您确实没有使用这些值。仔细阅读以下消息:

  

局部变量<...> 未使用

PyCharm非常具体-您将使用以下三个新变量分配这三个变量

<...> = json...

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

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