问题描述
为什么 func3 的输出仍然是 'Hello' 而不是 'New Message'?由于 func2 被告知将全局变量“update”的值更改为传递给 func1 的参数?我很困惑。
update = 'Hello'
def func1(message):
func2(message)
def func2(message):
global update
update = message
func3()
def func3(update = update):
print(update)
func1('New Message')
解决方法
当您不带参数调用 func3 时,它会使用默认值计算 func3。默认值为“你好”。 因此,您需要使用更新的新值调用 func3,如下所示:
time