在 Python 4.1.5 (IDE:Spyder) 中定义变量时出现奇怪的错误。 但是,即使出现错误,代码运行也没有任何问题!
如您所见,变量
social_cost_of_carbon
存储为变量,但我不断收到该错误,如图1所示(错误写道:未定义名称'social_cost_of_carbon'(Pyflakes E)
我觉得我声明这些变量的方式可能是原因:
def convert_to_var(df):
desc = []
val = []
for i,row in df.iterrows():
desc.append(i)
val.append(row)
return dict(val)
val_dict = convert_to_var(IA)
locals().update(val_dict)
由于代码运行没有任何问题,我没有做任何事情来解决这个问题。我是否需要担心并解决这个问题,或者我是否应该顺其自然并继续而不处理错误,因为代码运行顺利?
提前感谢您。
(Spyder 维护者在这里)正如您所猜测的,问题是您正在代码中使用此行动态创建变量:
locals().update(val_dict)
由于我们的 linter 找不到正确声明该变量的位置,因此它报告该变量未定义。但您可以安全地忽略该消息。
注意:自 Spyder 5.1.0 起,您可以通过在表单
# noqa
有问题的行末尾添加注释来避免 linter 错误。