python应用里如何定义全局变量在多个调用中传递
时间: 2024-09-22 20:08:24 浏览: 51
在Python中,如果你想在一个程序的多个函数或模块间共享变量,可以定义全局变量。全局变量是在整个作用域内可见的,不论在哪个函数内部定义。以下是定义和使用全局变量的步骤:
1. **定义全局变量**:
在函数外部定义,不需要使用`global`关键字,因为它的默认作用域就是全局:
```python
global_variable = "This is a global variable"
```
2. **引用全局变量**:
在函数内部,可以直接使用这个变量名,就像它是一个局部变量一样:
```python
def function1():
print(global_variable)
def function2():
global_variable = "Value changed in function2"
print(global_variable)
```
3. **注意**: 如果需要在函数内部修改全局变量,需要明确声明为全局:
```python
def function1():
global global_variable
global_variable = "Modified in function1"
```
4. **限制作用域**:
使用`nonlocal`关键字可以在嵌套函数中访问并修改外层函数的全局变量,而非直接通过`global`。
```python
def outer_function():
outer_var = "Outer variable"
def inner_function():
nonlocal outer_var
outer_var = "Changed by inner function"
inner_function()
print(outer_var) # 输出: Changed by inner function
outer_function()
```
阅读全文