Maison  >  Article  >  développement back-end  >  Comment implémenter des instructions Case/Switch en Python ?

Comment implémenter des instructions Case/Switch en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-18 11:22:02758parcourir

How to Implement Case/Switch Statements in Python?

Python équivalent à l'instruction Case/Switch

Python ne fournit pas de syntaxe dédiée pour les instructions case/switch comme les autres langages de programmation. Cependant, il existe plusieurs approches alternatives pour obtenir des fonctionnalités similaires.

Utilisation de la correspondance de modèles (Python 3.10 et versions ultérieures)

À partir de la version 3.10, Python a introduit la correspondance de modèles. Il vous permet de faire correspondre différents modèles et d'exécuter les blocs de code correspondants.

def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case _:  # Default case
            return "Something's wrong with the internet"

Utilisation de dictionnaires pour les versions antérieures de Python

Avant Python 3.10, une solution de contournement courante consiste à utiliser dictionnaires pour mapper les valeurs d'entrée aux blocs de fonction correspondants.

# Define the function blocks
def zero():
    print("You typed zero.\n")

def sqr():
    print("n is a perfect square\n")

def even():
    print("n is an even number\n")

def prime():
    print("n is a prime number\n")

# Map inputs to the function blocks
options = {0: zero,
           1: sqr,
           4: sqr,
           9: sqr,
           2: even,
           3: prime,
           5: prime,
           7: prime}

# Invoke the equivalent switch block
options[num]()

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