Ste*_*ron 2 python string methods definition
我用谷歌搜索了我的问题,但没有找到答案。我的问题是:我正在尝试在 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)
Run Code Online (Sandbox Code Playgroud)
Python 给我的输出是
empty
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
函数假定变量是局部变量,并且默认情况下赋值将创建一个新的局部变量来包含它。非局部的全局变量不受影响。
这是可取的。否则,您必须为所有内容创建唯一的名称,并且总是冒着意外覆盖重要全局变量的风险。
您可以通过明确告诉 Python 它是您要为其分配值的全局变量来更改此行为。为此,使用global关键字将本地名称显式链接到全局变量:
def something():
global word
if number_a > number_b
word = 'hello'
else:
word = 'goodbye'
Run Code Online (Sandbox Code Playgroud)
有时这是必要的。但是,在您的简单示例中,最好只返回值并在函数外部进行赋值。这样函数就不会绑定到周围的命名空间:
def something(number_a, number_b):
if number_a > number_b
return 'hello'
else:
return 'goodbye'
word = something(a, b)
Run Code Online (Sandbox Code Playgroud)