【发布时间】:2013-02-03 23:06:33
【问题描述】:
这是我的代码:
def f(x):
def g(n):
if n < 10:
x = x + 1
g(n + 1)
g(0)
当我评估 f(0) 时,会出现错误“x referenced before assignment”。
但是,当我使用 "print x" 而不是 "x = x + 1" 时,它会起作用。
似乎在g的范围内,我只能将x用作“使用事件”而不是“绑定事件”。我猜问题是 f 只传递给 g 的值 x。
我是否理解正确?如果不是,有人可以解释为什么“x = x + 1”的左侧在引用之前没有定义吗?
谢谢
【问题讨论】:
标签: python arguments nested-loops nested-function