python 关键字global的用法

在Python中,global关键字用于在函数内部修改全局变量的值。当在函数内部需要修改全局变量的值时,需要使用global关键字来将该变量声明为全局变量,以确保在函数内部修改后的值在全局作用域中生效。
使用global关键字修改全局变量
下面我们通过一个简单的示例来说明global关键字的用法。假设我们有一个全局变量counter,并且在一个函数内部需要修改counter的值。
counter = 0
def increment_counter():
    global counter
    counter += 1
increment_counter()
print(counter)  # 输出:1
在上面的示例中,我们首先定义了一个全局变量counter,然后在increment_counter函数内部使用global关键字声明counter是全局变量,以便在函数内部修改counter的值。最后调用increment_counter函数后,变量counter的值被增加了1。
注意事项
在使用global关键字时,需要注意以下几点:
- 使用global关键字声明的变量必须在函数内部使用前定义过,否则会报错。
- 在函数内部可以读取全局变量的值,但如果要修改全局变量的值,则需要使用global关键字声明。
- 在函数内部可以通过globals()内置函数来获取全局命名空间的字典。
下面我们通过一个示例来说明这些注意事项。
def func1():
    global var1
    var1 = 10
def func2():
    print(var1)  # 可以读取全局变量的值
def func3():
    global var2  # var2未定义,会报错
    print(var2)
func1()
func2()  # 输出:10
global_vars = globals()
print(global_vars)
在上面的示例中,我们定义了三个函数func1、func2和func3。在func1中使用global关键字声明var1是全局变量,并且对其赋值为10。func2中可以读取全局变量var1的值。func3中尝试使用global关键字声明未定义的全局变量var2,会导致程序报错。最后通过globals()函数获取全局命名空间的字典。
总结
global关键字的作用是在函数内部修改全局变量的值。使用global关键字声明的变量可以对全局变量进行修改,但需要注意声明的变量必须事先在全局作用域中定义过。global关键字在需要在函数内部修改全局变量时非常有用,但在实际开发中要谨慎使用,因为全局变量的修改可能会导致代码变得不易理解和维护。
 极客教程
极客教程