首頁 >後端開發 >Python教學 >如何在 Python 中使用類型提示指定多個返回類型?

如何在 Python 中使用類型提示指定多個返回類型?

Patricia Arquette
Patricia Arquette原創
2024-11-15 06:33:02367瀏覽

How Do You Specify Multiple Return Types with Type Hints in Python?

Specifying Multiple Return Types with Type Hints in Python

Python's type hints allow you to specify the expected data types for function parameters and return values. When a function can return multiple types, the question arises on how to accurately represent this in type hints.

Union Type (Python 3.10 and Later)

In Python 3.10 and subsequent versions, the | operator can be used to create a union type. This enables a concise and clear notation for multiple return types. For example:

def foo(client_id: str) -> list | bool:

This indicates that the foo function can return either a list or a boolean.

Typing.Union (Earlier Python Versions)

For earlier Python versions, the typing.Union class must be utilized:

from typing import Union

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

Limitations

It's important to note that type hinting in Python is not enforced at runtime. Therefore, it serves as a development-time aid rather than a strict type-checking mechanism. Functions can still return unexpected types, as exemplified below:

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

>>> foo(1)
'Works'

In this case, although the function is annotated to return a list, it returns a string. However, the annotations attribute will reflect the intended return type:

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

Refer to PEP 483 for further details on type hints in Python. For additional insights, consider reading "What are type hints in Python 3.5??" With these techniques, you can accurately specify multiple return types in your Python code, enhancing its readability and maintainability.

以上是如何在 Python 中使用類型提示指定多個返回類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn