Bagaimanakah Saya Boleh Menentukan Pelbagai Jenis Pulangan dalam Petua Jenis Python?

Susan Sarandon
Lepaskan: 2024-11-25 15:44:11
asal
520 orang telah melayarinya

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

Menentukan Pelbagai Jenis Pulangan dengan Petua Jenis

Dalam Python, fungsi kadangkala boleh mengembalikan jenis data yang berbeza berdasarkan parameter input atau logik dalaman. Untuk menunjukkan dengan jelas jenis pulangan yang dijangkakan, pembayang jenis boleh digunakan.

Menggunakan Jenis Kesatuan

Sejak Python 3.10, "|" operator boleh digunakan untuk mencipta jenis kesatuan. Ini membenarkan berbilang jenis pemulangan ditentukan, membolehkan sintaks berikut:

def foo(id) -> list | bool:
    ...
Salin selepas log masuk

Ini menandakan bahawa fungsi foo boleh mengembalikan sama ada senarai atau boolean.

Menggunakan Menaip. Union

Untuk versi Python sebelum 3.10, binaan menaip.Union boleh digunakan:

from typing import Union

def foo(id) -> Union[list, bool]:
    ...
Salin selepas log masuk

Had Petua Jenis

Adalah penting untuk ambil perhatian bahawa pembayang jenis dalam Python tidak dikuatkuasakan semasa masa jalan. Ini bermakna anotasi jenis berfungsi sebagai panduan semasa pembangunan kod tetapi tidak menjamin jenis pulangan sebenar.

Demonstrasi:

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

>>> foo(1)
'Works'
Salin selepas log masuk

Dalam contoh ini, integer dihantar sebagai hujah kepada fungsi foo yang diberi anotasi untuk mengembalikan senarai. Walaupun melanggar anotasi jenis, fungsi mengembalikan rentetan dan berjalan dengan jayanya.

Walau bagaimanapun, atribut __annotations__ fungsi masih akan mencerminkan jenis pulangan yang dijangkakan seperti yang dinyatakan dalam anotasi:

>>> foo.__annotations__
{'return': <class 'list'>, 'a': <class 'str'>}
Salin selepas log masuk

Untuk maklumat lanjut tentang pembayang jenis, rujuk PEP 483 dan Apakah pembayang jenis dalam Python 3.5??. Ambil perhatian bahawa ciri ini tersedia bermula daripada Python 3.5.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Pelbagai Jenis Pulangan dalam Petua Jenis Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan