gpt4 book ai didi

python - 嵌套函数定义和范围(UnboundLocalError)

转载 作者:太空宇宙 更新时间:2023-11-04 00:34:37 27 4
gpt4 key购买 nike

<分区>

为什么下面的代码无效:

def foo1(x=5):
def bar():
if x == 5:
x = 6
print(x)
bar()

虽然此代码有效:

def foo2(x=5):
def bar():
if x == 5:
print('ok')
print(x)
bar()

foo2() 会完全按照您的预期执行,但是 foo1() 会给出一个 UnboundLocalError: local variable 'x' referenced before assignmentif x == 5: 行。为什么稍后在代码中更改 x 的值会使此条件无效?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com