关于python:如何使用类型提示指定多个返回类型

How to specify multiple return types using type-hints

我在python中有一个函数,它可以返回boollist。是否可以使用类型提示指定返回类型。

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

1
2
def foo(id) -> list or bool:
      ...


From the documentation

class typing.Union

Union type; Union[X, Y] means either X or Y.

这是一种比一种返回数据类型更具代表性的方法。

1
2
3
4
from typing import Union


def foo(client_id: str) -> Union[list,bool]

但请注意,典型的情况并非如此。Python继续保持一种动态类型的语言。在制定Prior代码的过程中,已经开发了注释语法,以帮助将其释放到生产中。As PEP 484 States,"No type checking happens at runtime."

ZZU1

当你看到我经过一个内部价值和一个重新计算的过程时,如何将__annotations__设置为相应的价值。

1
2
>>> foo.__annotations__
{'return': <class 'list'>, 'a': <class 'str'>}

请通过PEP 483,再多一点。另见Python中的什么样的东西3.5?

Kindly note that this is only available for Python 3.5 and upwards.This is mentioned clearly in PEP 484.


当评价等于然后就不会做你想做的事了。

The native way to describe a"either a or b"type hint is union(thanks to Bhargav Rao):

1
def foo(client_id: str) -> Union[list, bool]:

我不想成为"你为什么想这样做"盖伊,但也许有两个归来的类型不是你想要的:

如果你想退回一本书,指明某些类型的特殊错误,考虑使用例外情况。如果你想把一本书作为一种特殊的价值,也许是一份空白的清单会是一个很好的代表。你还可以指明None可以与Optional[list]归还