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

如何在 Python 類型提示中指定多個回傳類型?

Susan Sarandon
Susan Sarandon原創
2024-11-25 15:44:11552瀏覽

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