关闭。这个问题需要详细或明确。它目前不接受答案。**想改进这个问题吗?**编辑这篇文章,添加细节并澄清问题。
昨天关门了。改进这个问题我正在创建一个新的df,同时运行一个函数并将其分配给一个新变量。下面是我在jupyter中的代码的屏幕截图:我不确定这里发生了什么,我需要声明变量global还是类似的东西?这实际上是在函数内部完成的,还是我可以将函数赋给一个变量并使其全局化。谢谢
rdrgkggo1#
如果python正在解析函数并遇到该模式identifier = 而且还没有看到一个全球性的 identifier 在此之前,它假设 identifier 必须是局部变量。如果你用同样的方法 identifier 要定义它,这会导致引用未定义的局部变量,或者换句话说: UnboundLocalError: local variable 'identifier' referenced before assignment 你不可能说出你想要什么 combine 函数,但我猜您的计划是用它的参数做一些事情 df1 及 df2 从这个函数的调用来看,似乎你在传递全局变量 df_bg_new 及 df_wg_new 去吧。[1] 顺便说一下, df_bg_new 及 df_wg_new 是一个非常糟糕的标识符:它们是相关的,在中间只有一个字母不同,所以混淆会在我的眼睛中预先编程。
=
identifier
UnboundLocalError: local variable
referenced before assignment
combine
df1
df2
df_bg_new
df_wg_new
1条答案
按热度按时间rdrgkggo1#
如果python正在解析函数并遇到该模式
identifier
=
而且还没有看到一个全球性的identifier
在此之前,它假设identifier
必须是局部变量。如果你用同样的方法identifier
要定义它,这会导致引用未定义的局部变量,或者换句话说:UnboundLocalError: local variable
'identifier'referenced before assignment
你不可能说出你想要什么combine
函数,但我猜您的计划是用它的参数做一些事情df1
及df2
从这个函数的调用来看,似乎你在传递全局变量df_bg_new
及df_wg_new
去吧。[1] 顺便说一下,
df_bg_new
及df_wg_new
是一个非常糟糕的标识符:它们是相关的,在中间只有一个字母不同,所以混淆会在我的眼睛中预先编程。