1717 votes

Pour remplacer l’instruction switch en Python ?

Je veux écrire une fonction en Python qui retourne des valeurs fixes différentes selon la valeur d’un index d’entrée.

Dans d’autres langues, j’utiliserais un ou instruction, mais Python ne semble pas avoir un `` État. Quelles sont les solutions recommandées de Python dans ce scénario ?

1867voto

Greg Hewgill Points 356191

Vous pouvez utiliser un dictionnaire :

1519voto

Nick Points 7464

Si vous souhaitez que les valeurs par défaut, vous pouvez utiliser le dictionnaire « get » de la méthode :

459voto

Mark Biek Points 41769

J’ai toujours aimé faire de cette façon

D’ici

431voto

Matthew Schinckel Points 15596

Outre les méthodes dictionary (dont j’aime vraiment, BTW), vous pouvez également utiliser if-else-elif pour obtenir la fonctionnalité commutateur/affaire/par défaut :

Ce cours n’est pas identique au commutateur/cas - vous ne pouvez pas par le biais de chute aussi facilement que laissant au large de la rupture ; déclaration, mais vous pouvez avoir un test plus compliqué. Elle est mise en forme est plus agréable qu’une série d’ifs imbriquées, même si fonctionnellement c’est ce que c’est plus proche de.

321voto

bhadra Points 7255

Python Cookbook a plusieurs recettes (implémentations et correspondant à des discussions) pour l'instruction switch. Veuillez visiter les liens suivants:

  1. Lisible commutateur de construction sans lambdas ou les dictionnaires

  2. Fondés sur l'Exception de Cas de Commutateur

  3. À l'aide d'un Dictionnaire en place d'un "switch" déclaration

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X