"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment implémenter des instructions de cas / commutateur dans Python?

Comment implémenter des instructions de cas / commutateur dans Python?

Publié le 2025-02-26
Parcourir:414

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 de cas / commutateur comme d'autres langages de programmation. Cependant, il existe plusieurs approches alternatives pour atteindre des fonctionnalités similaires.

Utilisation de la correspondance de motifs (python 3.10 et ci-dessus)

De la version 3.10, Python introduit correspondant à la correspondance. Il vous permet de faire correspondre différents modèles et d'exécuter des 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"

en utilisant des dictionnaires pour les versions Python antérieures

avant Python 3.10, une solution de contournement courante est d'utiliser des dictionnaires pour mapper les valeurs d'entrée à la fonction correspondante blocs.

# 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]()
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3