Python中有两种类型的变量作用域:全局变量和局部变量

2023-03-22 00:00:00 变量 中有 局部

全局变量是定义在函数外部,可以在任何函数中访问的变量。在Python中,可以使用global关键字在函数内部修改全局变量的值。

例如,以下代码中的变量website是全局变量:

website = "pidancode.com"

def print_website():
    print(website)

print_website() # 输出 "pidancode.com"

局部变量是定义在函数内部,只能在该函数内部访问的变量。如果尝试在函数外部访问局部变量,会引发NameError异常。

例如,以下代码中的变量message是局部变量:

def print_message():
    message = "Hello, World!"
    print(message)

print_message() # 输出 "Hello, World!"

需要注意的是,如果在函数内部使用与全局变量同名的变量,则该变量会成为一个新的局部变量,而不是修改全局变量的值。如果需要在函数内部修改全局变量的值,可以使用global关键字,如下所示:

website = "pidancode.com"

def set_website(new_website):
    global website
    website = new_website

set_website("皮蛋编程")
print(website) # 输出 "皮蛋编程"

在上面的代码中,set_website函数中的global website语句将website变量声明为全局变量,然后可以在函数内部修改它的值。

相关文章