假设我有这些功能:
def mogrify(a: int) -> bool:
return bool(a)
def stream(b: int, f: Callable[[int], bool]) -> bool:
return f(b)
我有一个规范回调,所以我想能够做到 像这样的东西:
MyCallback = reveal_type(mogrify)
def stream(b: int, f: MyCallback) -> bool:
return f(b)
除了没有真正做我想做的事之外,
reveal_type
本身并不是一部分
PEP 484 所以我不能使用它。
reveal_type
是 MyPy 特定的调试类型构造,不是 PEP 484 的一部分。您应该定义一个可重用的类型别名。
from typing import Callable
# Define the type alias
MyCallback = Callable[[int], bool]
# Your function definitions
def stream(b: int, f: MyCallback) -> bool:
return f(b)