Maison > développement back-end > Tutoriel Python > Comment puis-je remplacer efficacement une instruction Switch en Python ?

Comment puis-je remplacer efficacement une instruction Switch en Python ?

Susan Sarandon
Libérer: 2024-12-23 05:50:31
original
899 Les gens l'ont consulté

How Can I Effectively Replace a Switch Statement in Python?

Remplacements robustes de Python pour l'instruction Switch

Python ne dispose pas d'une instruction switch traditionnelle pour l'exécution conditionnelle. Cependant, il offre des alternatives polyvalentes qui répondent à ce besoin.

Instruction Match-Case

Introduite dans Python 3.10, l'instruction match-case fournit un "switch" complet. mise en œuvre. Sa syntaxe ressemble à l'instruction case, comme démontré ci-dessous :

def f(x):
    match x:
        case 'a':
            return 1
        case 'b':
            return 2
        case _:
            return 0  # Default case if 'x' is not found
Copier après la connexion

L'instruction match-case est très expressive, permettant une correspondance de modèles complexes et une gestion approfondie des cas.

Dictionnaire- Approche basée

Pour les versions Python antérieures à 3.10, une approche basée sur un dictionnaire peut émuler un commutateur de type behavior :

def f(x):
    return {
        'a': 1,
        'b': 2,
    }.get(x, 0)  # Default case
Copier après la connexion

Cette solution exploite un dictionnaire dans lequel les clés représentent les valeurs d'entrée et les valeurs représentent les résultats correspondants. La méthode '.get()' fournit le résultat approprié ou une valeur par défaut spécifiée.

L'instruction match-case et l'approche basée sur un dictionnaire offrent des alternatives efficaces à l'instruction switch en Python. Le choix entre eux dépend de la version Python prise en charge et de la complexité de la logique conditionnelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal