📜  python 访问全局变量 - Python (1)

📅  最后修改于: 2023-12-03 15:19:11.811000             🧑  作者: Mango

Python 访问全局变量

在 Python 中,全局变量是指定义在函数外部,整个程序都可以访问的变量。在函数内部,也可以通过一些方式访问全局变量,本文将向您介绍这些方式。

直接使用全局变量

在函数内部,可以直接使用全局变量。例如:

x = 1

def my_func():
    print(x)
    
my_func() # 输出 1
使用 global 关键字

如果要在函数内部修改全局变量,则需要使用 global 关键字。例如:

x = 1

def my_func():
    global x
    x = 2
    print(x)
    
my_func() # 输出 2
print(x)  # 输出 2
使用 nonlocal 关键字

在嵌套函数中,可以使用 nonlocal 关键字访问上层函数的变量。例如:

def outer_func():
    x = 1
    
    def inner_func():
        nonlocal x
        x = 2
        print(x)
        
    inner_func() # 输出 2
    print(x)     # 输出 2
    
outer_func()
注意事项
  • 全局变量不是线程安全的,如果在多线程程序中修改全局变量,需要使用线程锁等机制保证安全;
  • 在函数内部修改全局变量可能会引起意外的结果,所以尽量避免这种操作;
  • 如果全局变量需要在多个模块中使用,可以将其定义在一个模块中,然后在其他模块中通过 import 引入即可。

以上就是 Python 访问全局变量的介绍,希望可以帮助您理解 Python 中的作用域和变量访问。