在Python中,global关键字用于在函数或其他局部作用域中使用全局变量。使用global关键字的主要原因有两个:1. 在函数中修改全局变量的值。2. 在函数中访问全局变量,避免UnboundLocalError错误。例子1:修改全局变量的值
python count = 0 def add(): global count count += 1 add() print(count) # 1
这里如果不使用global关键字,会在函数add()内创建一个局部变量count,不会修改全局变量。例子2:访问全局变量
python count = 0 def print_count(): print(count) print_count() # 0
但是如果在函数中试图修改全局变量:
python count = 0 def add_one(): count += 1 # UnboundLocalError add_one()
这时就必须使用global关键字了:
python count = 0 def add_one(): global count count += 1 add_one() print(count) # 1
总结一下global的使用原则:- 如果要在函数内部修改全局变量,需要使用global声明。- 如果只是访问全局变量,不修改,则不需要global。- global只适用于变量,不适用于常量和类等其他对象。- 使用global会使代码难以维护,尽量避免使用。