def set_callback_fun(self, fun) -> None: self._callback_fun = fun
时间: 2024-10-12 16:11:51 浏览: 7
`set_callback_fun` 方法允许您设置一个回调函数,该函数作为参数接收另一个函数。这是一个简单的示例,说明如何定义和使用这个方法[^1]:
```python
from typing import Callable
class MyClass:
def __init__(self):
self._callback_fun: Callable[[str], int] = None # 定义一个Callable类型的属性
def set_callback_fun(self, fun: Callable[[str], int]) -> None:
"""
设置回调函数,接受一个字符串并返回一个整数。
:param fun: 传入的可调用对象,比如lambda表达式或已定义的函数
"""
self._callback_fun = fun # 当fun有定义时,设置到属性上
# 示例调用
def callback(string: str) -> int:
return len(string)
my_instance = MyClass()
my_instance.set_callback_fun(callback)
```
在这个例子中,`set_callback_fun` 接收一个 `Callable[[str], int]` 类型的 `fun` 参数,这意味着它可以是任何接受一个字符串输入并返回一个整数的函数。当你调用 `my_instance.set_callback_fun(callback)` 时,`callback` 函数会被赋给 `_callback_fun` 属性。