Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menentukan Pelbagai Jenis Pulangan dalam Python Menggunakan Petua Jenis?

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

Barbara Streisand
Barbara Streisandasal
2024-11-15 14:17:021061semak imbas

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

Menggabungkan Jenis Pulangan dalam Python Menggunakan Petua Jenis

Dalam Python, fungsi boleh mengembalikan salah satu daripada beberapa jenis. Menentukan jenis pemulangan ini menggunakan pembayang jenis meningkatkan kejelasan kod dan membolehkan pengesanan ralat lebih awal.

Untuk menentukan berbilang jenis pemulangan, gunakan | (bitwise OR) operator untuk Python 3.10 dan ke atas:

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

Sebelum Python 3.10, gunakan jenis Union daripada modul menaip:

from typing import Union

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

Perhatikan bahawa semakan jenis tidak dikuatkuasakan semasa runtime. Petua jenis berfungsi sebagai garis panduan untuk pembangunan kod, memberikan kejelasan yang dipertingkatkan dan membantu dalam pengesanan lebih awal tentang isu yang berpotensi. Sebagai contoh, walaupun foo dianotasi dengan input str dan output senarai, kod berikut berjaya dilaksanakan, mengembalikan str:

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

>>> foo(1)
'Works'

Walau bagaimanapun, anotasi fungsi itu dikekalkan:

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

Rujuk PEP 483 untuk butiran lanjut tentang pembayang jenis dan PEP 484 untuk pengenalan | sintaks untuk jenis pulangan dalam Python 3.10.

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

Kenyataan:
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