由于python 3.6(或3.4?我不记得),我们可以注释一个函数。例如:
def getVersion() -> str:
现在当函数返回一个元组时会发生什么?我们可以这样做:
def func() -> tuple:
但是如果我们知道元组是两个整数的元组?我在这里读到:How to annotate types of multiple return values?我们可以这样做:
def func() -> Tuple[int, int]
但它需要导入typing
模块。
我也试过了:
def func() -> (int, int):
它并没有崩溃。
什么是正确的方法?
答案 0 :(得分:4)
注释可以用于任何你喜欢的东西:它们是任意的Python表达式(不过有关于在未来的Python版本中打破这种情况的讨论)。
这就是(int, int)
作为注释的原因。 (1 + 3)
也可用作注释。
mypy
和其他python类型检查器将某些注释理解为 type 注释:Tuple[Int, Int]
就是这样的注释。
简而言之:使用Tuple[int, int]
。