在 Python 中,全局变量是定义在函数外部的变量。要在函数中使用全局变量,需要根据具体情况使用 global
关键字,以下是详细说明和示例:
1. 只读全局变量(无需声明)
如果只是在函数中读取全局变量的值,不需要任何特殊声明,直接使用即可:
# 定义全局变量
global_var = "我是全局变量"def read_global():# 读取全局变量(无需声明)print(global_var)read_global() # 输出: 我是全局变量
2. 修改全局变量(必须声明)
如果要在函数中修改全局变量的值,必须使用 global
关键字声明该变量,否则 Python 会将其视为局部变量:
3. 常见错误:未声明直接修改
如果不使用 global
关键字直接修改全局变量,会导致错误:
num = 10def modify_num():num = 20 # 这里会创建一个局部变量,而非修改全局变量print("函数内的num:", num)modify_num() # 输出: 函数内的num: 20
print("全局的num:", num) # 输出: 全局的num: 10(全局变量未被修改)
4. 全局变量的作用域
- 全局变量在整个模块(文件)中可见
- 多个函数可以共享同一个全局变量
- 尽量避免过度使用全局变量,以免导致代码逻辑混乱
总结:读取全局变量直接使用,修改全局变量必须用 global
声明。合理使用全局变量可以在多个函数间共享数据,但过度依赖会降低代码的可维护性。