Je voudrais savoir s'il existe un équivalent Python pour l'instruction case, comme les exemples disponibles sur VB.net ou C #.
Alors que les documents officiels sont heureux de ne pas fournir de commutateur, j'ai vu un solution utilisant des dictionnaires .
Par exemple:
# 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 the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
Ensuite, le bloc commutateur équivalent est appelé:
options[num]()
Cela commence à s'effondrer si vous dépendez fortement de la chute.
Le remplacement direct est if
/Elif
/else
.
Cependant, dans de nombreux cas, il existe de meilleures façons de le faire en Python. Voir " Remplacements pour l'instruction switch en Python? ".