python typing signature (typing.Callable) for function with kwargs 使用kwargs的函数的python类型签名(typing.Callable)
python typing signature (typing.Callable) for function with kwargs 使用kwargs的函数的python类型签名(typing.Callable)
我在Python 3中大量使用Python类型支持。
最近,我尝试将函数作为参数传递,但在typing.Callable的签名中找不到使用kwargs的任何帮助。
请查看下面的代码和注释。
import typing # 一个带有类型签名的函数 def fn1_as_arg_with_kwargs(a: int, b: float) -> float: return a + b # 一个带有类型签名的函数 def fn2_as_arg_with_kwargs(a: int, b: float) -> float: return a * b # 接受可调用对象作为参数的函数 # 这在typing中可以工作 def function_executor( a: int, b: float, fn: typing.Callable[[int, float], float]): return fn(a, b) # 但是如果我想给我的kwargs命名 # (类似下面的代码,但不起作用) # ... 这将帮助我处理更复杂的情况 # ... 或者我对Python 3期望过高了;) def function_executor( a: int, b: float, fn: typing.Callable[["a": int, "b": float], float]): return fn(a=a, b=b)