在Python中,global关键字用于在函数内修改全局变量,因函数默认将赋值变量视为局部变量,未声明global会导致UnboundLocalError。使用时需在函数中用global声明已存在的全局变量名,如global count,可逗号分隔多个变量。仅修改时必需,读取可省略。示例中count为全局变量,increment函数通过global count实现自增。注意事项:避免滥用global,推荐通过参数和返回值传递数据,以提升代码可维护性。
在 Python 中,global 是一个关键字,用来声明一个变量是全局变量。它的主要作用是在函数内部修改定义在函数外部的变量。
Python 函数内部默认只能读取全局变量的值,不能直接修改它。一旦你在函数中给一个变量赋值,Python 就认为它是局部变量,除非你明确告诉它这是全局变量。
如果不使用 global,而尝试在函数中修改全局变量,程序会创建一个新的局部变量,而不是修改原来的全局变量。
使用方式很简单:在函数中,先写 global 变量名,然后再进行赋值或修改。
示例:
count = 0 # 全局变量def increment(): global count count += 1 print(count)
increment() # 输出 1 increment() # 输出 2
如果没有 global
count 这一行,运行时会报错:UnboundLocalError,因为 Python 看到你在函数内给 count 赋值,就当它是局部变量,但又在赋值前读取了它。
虽然 global 能解决问题,但不要滥用。过多依赖全局变量会让代码难以维护和测试。推荐尽量通过函数参数传递数据,返回结果来处理。
基本上就这些。理解 global 的关键就是:想在函数里改外面的变量,就得先声明它是 global 的。不复杂但容易忽略。