相关疑难解决方法(0)

如何使用类型提示指定多个返回类型

我在python中有一个函数可以返回a bool或a list.有没有办法使用类型提示指定返回类型.

例如,这是正确的方法吗?

def foo(id) -> list or bool:
      ...
Run Code Online (Sandbox Code Playgroud)

python return-type type-hinting python-3.x python-3.5

141
推荐指数
4
解决办法
4万
查看次数

如何注释多个返回值的类型?

如何使用类型提示来注释返回一个Iterable总是产生两个值的函数:a bool和a str?提示Tuple[bool, str]很接近,除了它将返回值类型限制为元组,而不是生成器或其他类型的可迭代.

我很好奇,因为我想注释一个foo()用于返回多个值的函数,如下所示:

always_a_bool, always_a_str = foo()
Run Code Online (Sandbox Code Playgroud)

通常函数喜欢foo()做这样的事情return a, b(它返回一个元组),但我喜欢的类型暗示有足够的灵活性,以取代发电机或列表或别的东西返回的元组.

python type-hinting python-3.x python-3.5

45
推荐指数
1
解决办法
2万
查看次数

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

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

def func() -> str:
    return "ok"
Run Code Online (Sandbox Code Playgroud)

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

def func() -> str, str:
    return "ok - 1", "ok - 2"
Run Code Online (Sandbox Code Playgroud)

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

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

请在您的回复中加入PEP链接(如果有)。我在PEP 484PEP 3107上寻找答案,但找不到。

python type-hinting python-3.x

16
推荐指数
1
解决办法
1048
查看次数