这是 Python 非常高频的考点我给你用最简单、最清晰的方式讲透结论先说当全局变量和局部变量同名时直接写变量名 → 访问的是局部变量想访问同名全局变量→ 必须用globals()1. 示例同名时默认访问局部python运行name 全局变量 # 全局 def test(): name 局部变量 # 局部同名 print(name) # 输出局部变量 test()Python 遵循LEGB优先找局部。2. 正确方法用globals()访问同名全局globals()是一个字典存储了所有全局变量。用法python运行globals()[变量名]完整示例python运行name 全局变量 def test(): name 局部变量 print(name) # 访问局部 print(globals()[name]) # 访问同名全局 test()输出plaintext局部变量 全局变量3. 超级重要的区别global声明 “我要修改全局变量”globals()强行获取同名全局变量只读 / 修改都行同名时想修改全局python运行name 全局 def test(): name 局部 # 直接修改全局 globals()[name] 新全局 test() print(name) # 输出新全局4. 一句话总结必背局部与全局同名时直接写变量 →局部globals()[变量名]→同名全局