python - color - plotly layout
¿Cuál es el equivalente de Python para una declaración de caso/cambio? (2)
El reemplazo directo es if
/ elif
/ else
.
Sin embargo, en muchos casos hay mejores formas de hacerlo en Python. Consulte "¿ Reemplazos para la declaración de cambio en Python? ".
Esta pregunta ya tiene una respuesta aquí:
- ¿Reemplazos para la instrucción switch en Python? 48 respuestas
Me gustaría saber, ¿hay un equivalente de Python para la declaración del caso, como los ejemplos disponibles en VB.net o C #?
Mientras que los documentos oficiales están felices de no proporcionar el cambio, he visto una solución utilizando diccionarios .
Por ejemplo:
# 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,
}
Entonces se invoca el bloque de interruptor equivalente:
options[num]()
Esto comienza a desmoronarse si dependes mucho de la caída.