假设我有:
def foo(arg: int, arg2: str, arg3: int) -> MyReturnType:
这个变体保留了mypy类型,因为mypy知道
safefoo
:
safefoo = functools.partial(foo, arg2="whatever")
然而,这并没有:
def safefoo(*args, **kwargs):
# maybe i wanna do other stuff here
return foo(*args, arg2="whatever", **kwargs)
这也不是:
from functools import wraps
@wraps(foo)
def safefoo(*args, **kwargs):
return foo(*args, arg2="whatever", **kwargs)
在这两种情况下,mypy仍然抱怨
safefoo
是非类型化的,并在类型化上下文中调用:
Call to untyped function "safefoo" in typed context
我该如何包装才能让mypy开心?(不重新定义类型)