2024-06-26 14:10:15 发布
网友
这是一个最小的案例。在
def foo(x:int, y:int) -> tuple: return (x*y, y//2)
能够写出-> tuple(:int, :int)这不是一个有效的格式是非常诱人的。在这种情况下,是否有正确的方法,或者在python进一步沿着类型注释的道路前进之前,它仍然是一个灰色区域?在
-> tuple(:int, :int)
编辑: 很明显可以做类似的事情
不,到目前为止还没有一种规范的方法来做到这一点。Python类型注释是相对较新的语言添加,因此它们仍然有一定的局限性。在
现在,您可以使用元组文本:
def foo(x:int, y:int) -> (int, int): return (x*y, y//2)
或者字符串文本,例如:
这两个都很清楚地表达了你的意图。在
现在有一种方法来注释这个案例:
from typing import Tuple def foo(x:int, y:int) -> Tuple[int, int]: return (x*y, y//2)
注意:python运行时不会抱怨-> (int, int),但根据pep484,它不是正确的类型注释。换句话说,如果您想使用类型提示创建小型语言,您可以使用它;但是python类型标准(pep484)不接受它。在
-> (int, int)
不,到目前为止还没有一种规范的方法来做到这一点。Python类型注释是相对较新的语言添加,因此它们仍然有一定的局限性。在
现在,您可以使用元组文本:
或者字符串文本,例如:
^{pr2}$这两个都很清楚地表达了你的意图。在
现在有一种方法来注释这个案例:
注意:python运行时不会抱怨
-> (int, int)
,但根据pep484,它不是正确的类型注释。换句话说,如果您想使用类型提示创建小型语言,您可以使用它;但是python类型标准(pep484)不接受它。在相关问题 更多 >
编程相关推荐