gpt4 book ai didi

Python 局部变量行为异常

转载 作者:行者123 更新时间:2023-11-30 22:30:14 25 4
gpt4 key购买 nike

考虑以下代码:

def g():
a = {}
b = 0
def f():
a[0] = b
f()
print(a)
return a
a = g()
print(a)

执行时会给出以下输出:

{0: 0}
{0: 0}

但是如果我尝试更新 bf()

def g():
a = {}
b = 0
def f():
a[0] = b
b+=1
f()
print(a)
return a
a = g()
print(a)

它抛出以下错误:

UnboundLocalError: local variable 'b' referenced before assignment

这是预期的吗?我需要更新b里面f() 。这不可能吗?

最佳答案

ab 显式传递给您的函数。

def g():
a = {}
b = 0
def f(a, b):
a[0] = b
b += 1
return b
b = f(a, b)
return a

关于Python 局部变量行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46134369/

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