Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh Menggantikan Pernyataan Suis dalam Python?

Bagaimanakah saya boleh Menggantikan Pernyataan Suis dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 04:43:13315semak imbas

How Can I Replace Switch Statements in Python?

Alternatif untuk Tukar Pernyataan dalam Python

Apabila fungsi pengekodan dalam Python yang mengembalikan nilai tetap berbeza berdasarkan indeks input, mencari pengganti yang sesuai untuk pernyataan suis atau kes, yang biasa digunakan dalam bahasa lain, boleh berfaedah.

Alternatif Pernyataan Suis Python: Pernyataan Kes Padanan

Python 3.10 memperkenalkan pernyataan kes padanan, yang berfungsi sebagai pengganti berkesan untuk pernyataan suis. Ia menawarkan pelaksanaan yang komprehensif dengan fleksibiliti yang ketara di luar contoh mudah di bawah:

def f(x):
    match x:
        case 'a':
            return 1
        case 'b':
            return 2
        case _:
            return 0   # Default case if x is not found

Dokumentasi dan sumber yang komprehensif boleh didapati di:

  • [Tukar Pernyataan (Di Bawah Corak Struktur Padanan)](https://docs.python.org/3/library/dataclasses.html#match-statements)
  • [Pernyataan Padanan (Di Bawah Penyataan Kompaun)](https://docs.python. org/3/reference/compound_stmts.html#the-match-statement)
  • [PEP 634 - Corak Struktur Padanan: Spesifikasi](https://peps.python.org/pep-0634/)
  • [PEP 636 - Padanan Corak Struktur: Tutorial](https://peps.python.org/pep-0636 /)

Alternatif Kamus untuk Python ≤ 3.9

Jika keserasian dengan versi Python ≤ 3.9 diperlukan, menggunakan kamus boleh menawarkan alternatif serba boleh:

def f(x):
    return {
        'a': 1,
        'b': 2,
    }.get(x, 0)  # Default case: 0 is returned if 'x' is not found

Kaedah ini membolehkan pencarian nilai berasaskan kunci yang cekap daripada kamus, menyediakan penyelesaian yang mudah untuk keperluan anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Menggantikan Pernyataan Suis dalam Python?. 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