为什么我的变量在某个function/statement中只在Python中变化?

Why does my variable change in the certain function/statement only in Python?

如果我在函数中更改它,我的变量将不会更新。这是代码:```

my_var = None
def func(string):
    if string == "Hello":
        my_var = string
        print(my_var) # prints 'Hello'

print(my_var) # prints None

如何更新所有脚本的变量?

首先您需要实际调用 func,因为现在您的代码与

相同
my_var = None
print(my_var)

所以改为

my_var = None
func("Hello")
print(my_var)

此外,您需要告诉您的方法使用全局变量 my_var,因为如果不是,它会在方法范围内定义一个同名变量,而全局变量不会'变化

def func(string):
    global my_var
    if string == "Hello":
        my_var = string
        print(my_var)