【发布时间】:2015-01-30 18:10:56
【问题描述】:
这是一个最小的例子。
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)
【问题讨论】:
-
看相关的PEP,最近发展了不少。如果您真的很好奇,您还可以查看python-ideas list archives,Guido 在 2015 年 1 月中旬开始了关于此 PEP 的主题。
-
从 python 3.9 PEP 585 我们可以写 tuple[int, int]
标签: python static-typing type-annotation