首页  >  文章  >  后端开发  >  如何在 Python 类型提示中指定多个返回类型?

如何在 Python 类型提示中指定多个返回类型?

Susan Sarandon
Susan Sarandon原创
2024-11-25 15:44:11521浏览

How Can I Specify Multiple Return Types in Python Type Hints?

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

在 Python 中,函数有时可以根据输入参数或内部逻辑返回不同的数据类型。为了清楚地指示预期的返回类型,可以使用类型提示。

使用联合类型

从 Python 3.10 开始,“|”运算符可用于创建联合类型。这允许指定多个返回类型,从而启用以下语法:

def foo(id) -> list | bool:
    ...

这表示函数 foo 可以返回列表或布尔值。

使用类型。 Union

对于 3.10 之前的 Python 版本,typing.Union 构造可以是利用:

from typing import Union

def foo(id) -> Union[list, bool]:
    ...

类型提示的限制

需要注意的是,Python 中的类型提示在运行时不会强制执行。这意味着类型注释在代码开发过程中起到指导作用,但不能保证实际的返回类型。

演示:

>>> def foo(a: str) -> list:
...     return "Works"
...

>>> foo(1)
'Works'

在此示例中,一个整数作为参数传递给函数 foo 被注释为返回一个列表。尽管违反了类型注释,该函数仍返回一个字符串并成功运行。

但是,函数的 __annotations__ 属性仍将反映注释中指定的预期返回类型:

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

For有关类型提示的更多信息,请参阅 PEP 483 和 What are typehins in Python 3.5??。请注意,此功能从 Python 3.5 开始可用。

以上是如何在 Python 类型提示中指定多个返回类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn