NameError,名称未定义 - 如何在 defined/declared/assigned 之前使用变量?

NameError, name not defined - how to use a Variable before it it is defined/declared/assigned?

我目前正在构建一个包含多个图表的仪表板。用户可以选择使用 plotly-dash 下拉菜单 select 当前月份。图表的初始值始终是当前月份。

现在谈谈我的问题。这些图表需要多次计算,这些计算是在 Pandas 中预先完成的。我的代码顺序如下:

  1. 定义数据框
  2. 使用月份变量 'T'(硬编码)在 Pandas 中进行计算
  3. 使用 plotly 生成图表并使用下拉菜单将它们绘制在 plotly dash 中
  4. 运行 服务器和打印仪表板

我在第 3 步中定义的下拉输出是:

def update_output(value):
    return 'You have selected month "{}"'.format(value)

我想在第 1 步之后使用此输出 - 因此我可以使计算动态化并使所选月份不被硬编码。本质上,我想将我的硬编码计算行重写为:

df[column].where[df['month_column'] = update_output].sum()

关于如何在计算期间使用此变量 update_output 而不会出现 NameError(未识别变量)错误的任何想法?

我已经阅读了有关全局变量、局部变量、环境变量的内容...虽然似乎无法找到在定义之前使用变量的方法...

非常感谢您的帮助!

有很多方法可以在赋值前定义变量。一种方法是使用内置类型函数。 python 中有很多不同的类型,你可以访问这个 site 来了解所有类型是什么,但是你可以给变量一个类型的空模板。您所要做的就是使用其中一个内置类型函数。例如,如果您想创建一个空字符串类型的对象,您可以执行以下操作。

basic_string = str()

如果您只想做一个空对象,可以为该变量分配任何类型(甚至是自定义对象),您可以执行以下操作。

basic_object = object