本地变量 vs 全局变量是指变量的作用域范围不同。本地变量只在定义它的函数内部有效,而全局变量在整个程序中都有效。
当出现"name 'EXAMPLE' 未定义"的错误时,可能是因为在引用变量时,变量没有被正确定义或者作用域不正确。以下是一些解决方法的代码示例:
EXAMPLE = "Hello World" # 全局变量
def print_example():
print(EXAMPLE) # 引用全局变量
print_example() # 输出:Hello World
def print_example(example):
print(example) # 引用传入的参数
print_example("Hello World") # 输出:Hello World
def print_example():
example = "Hello World" # 本地变量
print(example) # 引用本地变量
print_example() # 输出:Hello World
注意:如果在函数内部定义了同名的本地变量,它会覆盖同名的全局变量。如果要在函数内部修改全局变量的值,可以使用global
关键字。
EXAMPLE = "Hello"
def update_example():
global EXAMPLE # 声明要修改的是全局变量
EXAMPLE += " World"
update_example()
print(EXAMPLE) # 输出:Hello World
总结:要解决"name 'EXAMPLE' 未定义"的错误,可以通过使用全局变量、函数参数传递变量或在函数内部定义本地变量来引用变量。