我在外部库中有一个函数,该函数具有复杂的类型提示(“内部”)。在我的代码中,我有另一个函数(“外部”)调用此函数。该函数的参数之一将传递给提示函数。我想让 mypy 对参数进行类型检查。如何在不复制复杂类型提示的情况下实现这一目标?
一个最小的例子是
def inner(x: int) -> None:
...
def outer(x, y: str) -> None:
"""function that needs a typehint for x"""
inner(x)
# This should throw an error
outer(x="a", y="a")
您可以使用
TypeAlias
将类型分配给变量,然后在两个函数中重用它:
from typing import TypeAlias
X: TypeAlias = int
def inner(x: X) -> None:
...
def outer(x: X, y: str) -> None:
"""function that needs a typehint for x"""
inner(x)
# This should throw an error
outer(x="a", y="a")