在Python中,local
关键字用于在函数内部声明一个局部变量。局部变量只在函数内部有效,当函数执行完毕后,局部变量会被销毁。这意味着局部变量不会影响到函数外部的代码或全局变量。
下面是一个简单的例子来说明局部变量如何影响函数调用:
# 全局变量
global_var = "I am a global variable"
def my_function():
# 局部变量
local_var = "I am a local variable"
# 函数内部访问全局变量
print("Inside the function, accessing global variable:", global_var)
# 函数内部访问局部变量
print("Inside the function, accessing local variable:", local_var)
# 调用函数
my_function()
# 访问全局变量
print("Outside the function, accessing global variable:", global_var)
# 试图访问局部变量(这将导致错误)
print("Outside the function, trying to access local variable:", local_var)
输出:
Inside the function, accessing global variable: I am a global variable
Inside the function, accessing local variable: I am a local variable
Outside the function, accessing global variable: I am a global variable
Outside the function, trying to access local variable: NameError: name 'local_var' is not defined
从输出中可以看到,局部变量local_var
仅在my_function
内部有效,而在函数外部无法访问。这有助于保护数据封装和避免意外修改全局变量。