我正在尝试创建一个可以用作注释的函数(稍后检查函数并使用预期的返回值执行操作…)
def WillReturn(*kwargs):
# dark magic
return kwargs
问题是:我如何注释WillReturn,使类型提示给出以下警告
def MyFunction(a, b, c) -> WillReturn(int=1, str='yo'):
return (123,
1.2, # error! expects a str at position #1
None) # error! expects two values
这可以做到这一点,但不具有很强的可扩展性:
A,B,C,D,E,F = map(typing.TypeVar, 'ABCDEF')
@typing.overload
def WillReturn(A) -> A: ...
@typing.overload
def WillReturn(A,B) -> (A,B): ...
@typing.overload
def WillReturn(A,B,C) -> (A,B,C): ...
# and so on and so forth
Tuple中的子类,或者直接使用_VariadicGenericAlias,但我不完全确定这两个对象的预期用途
目前没有回答
相关问题 更多 >
编程相关推荐