Python中如何函数体内改变函数外变量的值?
时间: 2024-09-12 19:13:28 浏览: 155
在Python中,函数体内改变函数外的变量值通常是通过使用全局变量或返回值再赋值来实现的。以下两种方式是常用的:
1. 全局变量:在函数内部使用`global`关键字声明变量名,表明这个变量是全局的,然后就可以在函数体内对其进行修改了。这样,对这个变量的任何修改都会影响到函数外部的同名全局变量。
```python
x = 1 # 全局变量
def modify_global():
global x # 声明x为全局变量
x = 10 # 修改全局变量x的值
modify_global()
print(x) # 输出将会是10
```
2. 返回值并赋值:在函数内计算出新的值,然后通过函数返回这个值,最后在函数外部通过赋值操作来更新变量。
```python
def modify_value(x):
x += 10 # 在函数内部修改参数x的值
return x # 返回修改后的值
y = 1
y = modify_value(y) # 接收返回值并重新赋值给y
print(y) # 输出将会是11
```
需要注意的是,第二种方式实际上是通过返回值创建了一个新的局部变量(在这里是函数的返回值),然后将这个新值赋给了外部的一个新的变量。这并不是直接修改原全局变量,而是在函数外部创建了一个新的变量。
阅读全文