Dari dokumentasi
kelas typing.Union
Jenis serikat; Serikat [X, Y] berarti X atau Y.
Oleh karena itu cara yang tepat untuk mewakili lebih dari satu tipe data kembali adalah
from typing import Union
def foo(client_id: str) -> Union[list,bool]
Namun harap dicatat bahwa pengetikan tidak ditegakkan. Python terus menjadi bahasa yang diketik secara dinamis. Sintaksis penjelasan telah dikembangkan untuk membantu selama pengembangan kode sebelum dirilis ke dalam produksi. Seperti yang dinyatakan PEP 484, "tidak ada pemeriksaan tipe yang terjadi saat runtime."
>>> def foo(a:str) -> list:
... return("Works")
...
>>> foo(1)
'Works'
Seperti yang Anda lihat, saya memberikan nilai int dan mengembalikan str. Namun __annotations__
akan diatur ke nilai masing-masing.
>>> foo.__annotations__
{'return': <class 'list'>, 'a': <class 'str'>}
Silakan membaca PEP 483 untuk informasi lebih lanjut tentang petunjuk. Juga lihat Apa itu petunjuk Jenis dalam Python 3.5 ?
Harap perhatikan bahwa ini hanya tersedia untuk Python 3.5 dan yang lebih tinggi. Ini disebutkan dengan jelas dalam PEP 484 .