问题描述
在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找不到正确声明该变量的位置,因此它报告未定义。但是您可以忽略该消息。
注意:目前无法隐藏棉绒布警告。但是,在将来的版本中,我们将提供一种方法,可以在# noqa
格式的行末添加注释。