这是我的代码:
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的值为g.
我是否理解正确?如果没有,有人可以解释为什么在引用前没有定义“x = x 1”的左侧吗?
谢谢