Python / Spyder - 未定义的变量错误,当变量被定义并显示在环境中时。即使有错误,代码也能正常工作
Python / Spyder - Undefined variable error, when variable is defined and shown in the environment. Code works even with the error
我在 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 无法找到正确声明该变量的位置,因此它报告它未定义。但是您可以安全地忽略该消息。
注意:目前无法隐藏 linter 警告。但是,在未来的版本中,我们将通过在 # noqa
.
形式的行末尾添加注释来提供一种方法。
我在 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 无法找到正确声明该变量的位置,因此它报告它未定义。但是您可以安全地忽略该消息。
注意:目前无法隐藏 linter 警告。但是,在未来的版本中,我们将通过在 # noqa
.