gpt4 book ai didi

python - 在 python 3 中的方法中更改全局字符串

转载 作者:行者123 更新时间:2023-11-28 20:41:39 30 4
gpt4 key购买 nike

我用谷歌搜索了我的问题,但未能找到答案。我的问题是:我正在尝试在 python 3 的方法中更改字符串。我正在尝试这样的小代码:

number_a = 0
number_b = 1

word = 'empty'

def something():
if number_a > number_b
word = 'hello'
else:
word = 'goodbye'

something()
print(word)

Python 给我的输出是

empty

我在这里做错了什么?

最佳答案

函数假定变量是局部的,并且赋值将默认创建一个新的局部变量来包含它。非本地的全局变量不受影响。

这是可取的。否则,您将不得不为所有内容创建唯一的名称,并且总是冒着意外覆盖重要全局变量的风险。

您可以通过显式告诉 Python 这是您要为其赋值的全局变量来更改此行为。为此,使用 global 关键字将局部名称显式链接到全局变量:

def something():
global word

if number_a > number_b
word = 'hello'
else:
word = 'goodbye'

有时这是必要的。但是,在您的简单示例中,最好只返回值并在函数外部进行赋值。这样函数就不会绑定(bind)到周围的命名空间:

def something(number_a, number_b):
if number_a > number_b
return 'hello'
else:
return 'goodbye'

word = something(a, b)

关于python - 在 python 3 中的方法中更改全局字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704642/

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