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
Susan Sarandonoriginal
2024-12-23 05:50:31897parcourir

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

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

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!

Déclaration:
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