在 Python 中,函数作为代码的模块化单位,可以实现代码的重用和简化。函数具有自己的作用域,即变量的可见范围,了解函数的作用域是编写高质量代码的关键之一。
在 Python 中,变量的作用域可以分为局部作用域和全局作用域。
全局变量是定义在函数外部的变量,可以在程序的任何地方访问。如果在函数内部定义了一个同名的局部变量,那么函数内部的操作将只针对局部变量。如果函数内部想要访问全局变量,可以使用 global
关键字来声明。
例如:
count = 0 # 全局变量
def my_func():
count = 1 # 局部变量
print(count)
my_func() # 输出 1
print(count) # 输出 0
在上面的例子中,count
是一个全局变量,值为 0
。my_func()
函数中定义了一个同名的局部变量 count
,值为 1
,函数内部输出 1
。但是,函数外部的 count
仍然是全局变量,输出为 0
。
如果想要在函数内部修改全局变量的值,可以使用 global
关键字。例如:
count = 0 # 全局变量
def my_func():
global count # 声明 count 为全局变量
count = 1
print(count)
my_func() # 输出 1
print(count) # 输出 1
在上面的例子中,global count
声明了 count
是全局变量。函数内部将全局变量 count
的值修改为 1
,并输出 1
。函数外部的 count
也被修改为 1
。