具有两个或多个返回参数的函数注释

2024-03-25

当我为返回一个参数的函数编写注释时,没有任何问题。

def func() -> str:
    return "ok"

但是,当我编写带有两个或更多参数的注释时,我的 PyCharm 给了我SyntaxError: invalid syntax.

def func() -> str, str:
    return "ok - 1", "ok - 2"

我认为这些参数可以与tuple,但我认为这不是最好的方法。

我的问题是:如何正确注释具有两个或多个返回参数的函数?

请在您的回复中包含 PEP 链接(如果有)。我在以下位置寻找答案PEP 484 https://www.python.org/dev/peps/pep-0484 and PEP 3107 https://www.python.org/dev/peps/pep-3107却找不到它。


Use typing.Tuple:

from typing import Tuple

def func() -> Tuple[str, str]:
    return 'a', 'b'

这是合适的,因为从概念上讲,您实际上返回的是一个tuple包含这些值。笔记:

print(type(func()))

Output:

<class 'tuple'>

除了空的tuple (()), 括号是not需要定义一个tuple https://docs.python.org/3/reference/expressions.html, 意思就是'a', 'b'被创建为tuple,而不是由单独的值收集成一个值return陈述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有两个或多个返回参数的函数注释 的相关文章

随机推荐