使用型別提示指定多個回傳類型
在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中文網其他相關文章!