python 函数指针
时间: 2023-06-21 12:16:41 浏览: 106
在 Python 中,函数也可以看作是一种对象,因此可以像操作普通对象一样操作函数对象。函数指针就是一个指向函数对象的指针,它可以用来保存函数对象的引用,并且可以将函数对象作为参数进行传递、返回值或者赋值给其他变量。
在 Python 中,使用函数名来表示函数对象,可以通过以下方式获取函数对象的引用:
```python
def func():
pass
func_ptr = func # 获取函数对象的引用
```
上述代码中,`func` 是一个函数对象,`func_ptr` 是一个指向 `func` 函数对象的指针。
函数指针可以作为参数传递给其他函数,如下所示:
```python
def func1(func):
func()
def func2():
print('Hello, World!')
func1(func2) # 将函数对象作为参数传递
```
上述代码中,`func1` 函数接收一个函数对象作为参数,并调用该函数对象。`func2` 函数是一个普通的函数对象,它被作为参数传递给 `func1` 函数,并在 `func1` 函数中被调用。
函数指针也可以作为返回值或者赋值给其他变量,如下所示:
```python
def func():
print('Hello, World!')
def get_func():
return func
func_ptr = get_func() # 将函数对象赋值给变量
func_ptr() # 调用函数对象
```
上述代码中,`get_func` 函数返回一个函数对象 `func` 的引用,然后将该引用赋值给变量 `func_ptr`。最后,可以通过 `func_ptr` 变量调用函数对象。
阅读全文