-1
得到了某种原因,我must
写代码像这样一些麻烦的时候写一些像这样的代码我如何使用局部变量在内高清功能
def wrapper(v):
v()
def abc():
b=1
c=2
def bc():
b=b+c
wrapper(bc)
return b
print(abc())
结果UnboundLocalError: local variable 'b' referenced before assignment
。 所以我改变我的代码,这样的方式来摆脱圣母院问题
def wrapper(v):
v()
def abc():
b=[1,2]
def bc():
b[0]=b[1]+b[0]
wrapper(bc)
return b[0]
print(abc())
这是令人难以置信得了3,当我运行此脚本。 我想知道关于这种现象的合理解释。 为什么我第一次得不到3?
请在发布前正确地缩进您的代码。这真的很难再现其他问题 – Uriel
'abc'甚至不会调用'bc' – aaron
当您甚至不打扰修复代码缩进时,为什么我们应该打扰您的问题? –