当我为返回一个参数的函数编写注释时,没有任何问题。
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(使用前将#替换为@)