Switch en python

En python la définition d’une fonction est une valeur et peut être affectée à une variable :

def incrementer(i) :
	return i+1
 
def doubler(i) :
	return i*2
 
def diviser(i) :
	return i/2
 
print(incrementer(3))
x=incrementer
print(x(3))

Elle peut aussi être utilisée dans un dictionnaire:

CODES={"INC": incrementer,
	  "DOU": doubler,
	  "DIV": diviser,
	  "+"  : incrementer,
	  "*"  : doubler,
	  "/"  : diviser}

Ce qui permet d’associer directement et simplement la fonction associée :

COMMANDES="INC INC * + + /"
i=10;
for commande in COMMANDES.split(" "):
	print(commande+" "+str(CODES[commande](i)));