Python 使用函数指针,却又想通过函数指针修改函数指针外的变量
时间: 2023-11-22 16:48:45 浏览: 127
python 函数内部修改外部变量的方法
5星 · 资源好评率100%
Python中可以使用闭包来实现通过函数指针修改函数指针外的变量。闭包是指一个函数对象,它引用了一些在函数定义时存在的变量,当函数被调用时,这些变量将继续存在。具体实现方法如下:
```python
def outer():
x = 0
def inner():
nonlocal x
x += 1
print(x)
return inner
func = outer()
func() # 输出:1
func() # 输出:2
```
在上面的例子中,`outer()`函数返回了一个内部函数`inner()`,`inner()`函数引用了`outer()`函数中的变量`x`。通过调用`outer()`函数并将返回值赋值给变量`func`,我们就可以通过`func()`来调用`inner()`函数。在`inner()`函数中,使用`nonlocal`关键字来声明`x`是一个外部变量,然后就可以通过`x += 1`来修改`x`的值了。
阅读全文