这是我的代码:
def f(x):
def g(n):
if n < 10:
x = x + 1
g(n + 1)
g(0)
当我评估 f(0) 时,会出现错误“x 在赋值之前引用”。
但是,当我使用 "print x" 而不是 "x = x + 1" 时,它会起作用。
似乎在 g 的范围内,我只能将 x 用作“使用事件”而不是“绑定事件”。我想问题是 f 只传递给 g x 的值。
我理解正确与否?如果不是,有人可以解释为什么“x = x + 1”的左侧在引用之前没有定义吗?
谢谢