这里是一个最小的示例。
def foo(x:int, y:int) -> tuple:
return (x*y, y//2)
写-> tuple(:int, :int)
这样的格式非常诱人,但实际上它是无效的。在这种情况下是否有正确的方法,或者直到Python进一步推广类型注释之前它仍然是一个灰色地带?
编辑: 显然可以做类似的事情。
def bar(x, y) -> ((str, int), (str, int)):
return ("%s+%s" %(x,y), x+y), ("%s-%s" %(x,y), x-y)