【发布时间】:2021-04-14 17:19:11
【问题描述】:
我正在尝试编写一个递归函数。当我写这样的代码时。它工作正常。
def older_func():
variable = 1
def func():
print(variable)
return func
return func
older_func()(5)
但是如果我在打印后尝试重新分配我的变量,我会得到一个错误
def older_func():
variable = 1
def func(n):
print(variable)
variable = n
return func
return func
older_func()(5)
赋值前引用的局部变量。在打印步骤上。请帮助我了解行为和克服此问题的方法。
UnboundLocalError: 赋值前引用的局部变量“变量”
【问题讨论】:
-
我执行了你的代码,它没有抛出任何错误..
-
请添加您用于调用该函数的代码,以及完整的错误以及堆栈跟踪。
-
@ThePyGuy @ Czaporka 完成
标签: python