一、全局变量
全局变量是在函数外部定义的变量,可以在整个程序的任何位置访问。在函数内部,可以使用global关键字声明全局变量,在函数内部修改全局变量的值。
global_variable = "This is a global variable."
def access_global_variable():
print(global_variable)
def modify_global_variable():
global global_variable
global_variable = "Modified global variable."
access_global_variable() # 输出 "This is a global variable."
modify_global_variable()
access_global_variable() # 输出 "Modified global variable."
二、局部变量
局部变量是在函数内部定义的变量,其只在函数内部可用,如果函数外部想要访问,需要将其作为函数返回值返回。在函数内部想要修改局部变量的值,需要使用global关键字声明。
def access_local_variable():
local_variable = "This is a local variable."
print(local_variable)
def modify_local_variable():
local_variable = "This is a local variable."
print("Before modification: ", local_variable)
local_variable = "Modified local variable."
print("After modification: ", local_variable)
access_local_variable() # 输出 "This is a local variable."
modify_local_variable()
# 输出
# Before modification: This is a local variable.
# After modification: Modified local variable.
三、参数
函数的参数是在函数定义时指定的,可以在函数内部使用,如果没有使用global声明,其仅在函数内部可用。
def access_parameter(parameter):
print(parameter)
def modify_parameter(parameter):
print("Before modification: ", parameter)
parameter = "Modified parameter."
print("After modification: ", parameter)
access_parameter("This is a parameter.")
# 输出 "This is a parameter."
modify_parameter("This is a parameter.")
# 输出
# Before modification: This is a parameter.
# After modification: Modified parameter.
四、嵌套函数中的变量名称
如果在一个函数内部再定义一个函数,那么嵌套函数可以访问其外部函数中定义的变量。在嵌套函数内部,如果修改外部函数的变量,需要使用nonlocal关键字声明。
def outer_function():
outer_variable = "This is an outer variable."
def inner_function():
print("Inner function: ", outer_variable)
inner_function()
outer_function() # 输出 "Inner function: This is an outer variable."
def modify_outer_variable():
outer_variable = "This is an outer variable."
def inner_function():
nonlocal outer_variable
outer_variable = "Modified outer variable."
print("Inner function: ", outer_variable)
inner_function()
print("Outer function: ", outer_variable)
modify_outer_variable()
# 输出
# Inner function: Modified outer variable.
# Outer function: Modified outer variable.
五、总结
Python函数在其定义和调用期间可以访问全局变量、局部变量、参数以及嵌套函数中的变量名称。在访问和修改变量的时候,需要注意使用global、nonlocal关键字进行声明。