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

Bagaimanakah saya boleh Menggantikan Pernyataan Suis dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 00:26:09864semak imbas

How Can I Replace a Switch Statement in Python?

Alternatif kepada Pernyataan Suis dalam Python

Dalam pengaturcaraan Python, timbul keperluan untuk mengembalikan nilai pratakrif yang berbeza berdasarkan indeks input yang ditentukan. Walaupun penyataan suis atau kes biasanya menangani ini dalam bahasa lain, Python tidak mempunyai penyataan suis khusus. Soalan ini meneroka penyelesaian Python yang sesuai untuk mengisi kekosongan ini.

Penyelesaian Disyorkan: Pernyataan kes perlawanan

Python 3.10 memperkenalkan pernyataan kes perlawanan, menawarkan penggantian yang mantap untuk pernyataan suis. Sintaksnya adalah seperti berikut:

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

Pernyataan kes padanan menyokong fungsi lanjutan yang melangkaui contoh asas ini. Untuk mendapatkan maklumat lanjut, rujuk dokumentasi rasmi Python.

Penyelesaian Alternatif: Pemetaan Kamus

Untuk versi Python sebelum 3.10, kamus boleh berfungsi sebagai alternatif:

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

Pendekatan ini memetakan nilai input khusus kepada nilai pulangan yang sepadan. Jika nilai input tidak wujud dalam kamus, nilai pulangan lalai 0 digunakan.

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