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

Comment puis-je répliquer une instruction Switch en Python ?

DDD
DDDoriginal
2024-12-20 10:18:11361parcourir

How Can I Replicate a Switch Statement in Python?

Alternatives Python à l'instruction Switch

En Python, l'instruction switch ou case n'existe pas. Cependant, il existe plusieurs solutions recommandées pour obtenir des fonctionnalités similaires.

Python 3.10 et versions ultérieures : instruction Match-Case

Python 3.10 a introduit l'instruction match-case, fournissant une remplacement direct de l'instruction switch. Il offre un moyen plus puissant et plus concis d'évaluer plusieurs conditions :

def f(x):
    match x:
        case 'a':
            return 1
        case 'b':
            return 2
        case _:
            return 0  # Default case for all other values

Python ≤ 3.9 : approche par dictionnaire

Si des versions de Python inférieures à 3.10 sont requises, les dictionnaires peuvent être utilisé pour créer un mappage entre les valeurs d'entrée et les valeurs fixes :

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

Autre Alternatives

Les alternatives supplémentaires incluent :

  • Déclarations If-Else : Des instructions if-else consécutives peuvent être utilisées, mais cela peut devenir verbeux pour beaucoup cas.
  • Fonctions Lambda : Les fonctions Lambda peuvent être utilisées pour définir un mappage de type dictionnaire, similaire à l'approche du dictionnaire.
  • Enum : Les énumérations peuvent énumérer les valeurs d'entrée possibles et les attribuer à des valeurs fixes.

Lors de la sélection pour remplacer l'instruction switch, tenez compte de la version Python utilisée, du nombre de cas ainsi que de la lisibilité et de la maintenabilité souhaitées.

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