La definición de la continue
declaración es:
La
continue
declaración continúa con la próxima iteración del bucle.
No puedo encontrar ningún buen ejemplo de código.
¿Podría alguien sugerir algunos casos simples donde continue
sea necesario?
La definición de la continue
declaración es:
La
continue
declaración continúa con la próxima iteración del bucle.
No puedo encontrar ningún buen ejemplo de código.
¿Podría alguien sugerir algunos casos simples donde continue
sea necesario?
Aquí hay un ejemplo simple:
for letter in 'Django':
if letter == 'D':
continue
print("Current Letter: " + letter)
La salida será:
Current Letter: j
Current Letter: a
Current Letter: n
Current Letter: g
Current Letter: o
Continúa a la siguiente iteración del bucle.
continue
hace, pero no es demasiado útil, cuando podría hacerloif letter != 'D': print 'Current Letter:', letter
Me gusta usar continuar en bucles donde hay muchas condiciones que deben cumplirse antes de "ponerse manos a la obra". Entonces, en lugar de un código como este:
Me sale un código como este:
Al hacerlo de esta manera evito el código muy anidado. Además, es fácil optimizar el ciclo eliminando primero los casos más frecuentes, de modo que solo tengo que tratar los casos poco frecuentes pero importantes (por ejemplo, el divisor es 0) cuando no hay otro showtopper.
fuente
continue
de esta manera es similar a usarGOTO
. Sin embargo, esta es la forma correcta de usarGOTO
.Por lo general, la situación en la que continuar es necesario / útil es cuando desea omitir el código restante en el ciclo y continuar la iteración.
Realmente no creo que sea necesario, ya que siempre puedes usar sentencias if para proporcionar la misma lógica, pero podría ser útil para aumentar la legibilidad del código.
fuente
if <condition>: continue
lugar deif not <condition>: ...
evitar un nivel de sangría que de otro modo sería necesario si se escribiera sin él.continue
declaración, esencialmente estamos saltando de una sección de prueba condicional y permitiendo que la iteración del ciclo continúe a la siguiente iteración? No es evidente para mí cómo esto sería mejor que usarloelse
. ¿Se trata solo de mejorar la legibilidad y el rendimiento en tiempo de ejecución?continuar es una declaración de control extremadamente importante. El código anterior indica una aplicación típica, donde se puede evitar el resultado de una división por cero. Lo uso a menudo cuando necesito almacenar la salida de los programas, pero no quiero almacenar la salida si el programa se ha bloqueado. Tenga en cuenta que para probar el ejemplo anterior, reemplace la última instrucción con print 1 / float (x), o obtendrá ceros cada vez que haya una fracción, ya que randint devuelve un entero. Lo omití por claridad.
fuente
Algunas personas han comentado sobre la legibilidad, diciendo: "Oh, no ayuda tanto la legibilidad, ¿a quién le importa?"
Suponga que necesita una verificación antes del código principal:
Tenga en cuenta que puede hacer esto después se haya escrito el código principal sin cambiar ese código de ninguna manera. Si difunde el código, solo se resaltará la línea agregada con "continuar", ya que no hay cambios de espacio en el código principal.
Imagínese si tiene que hacer un desayuno de código de producción, que resulta simplemente agregar una línea con continuar. Es fácil ver que ese es el único cambio cuando revisas el código. Si comienza a ajustar el código principal en if / else, diff resaltará el código recién sangrado, a menos que ignore los cambios de espacio, lo cual es peligroso particularmente en Python. Creo que a menos que haya estado en la situación en la que tiene que implementar el código a corto plazo, es posible que no lo aprecie completamente.
fuente
fuente
continue
declaración aquí? Podría eliminarse mediante el uso , y el código sería igual de legible.element not in colors
Digamos que queremos imprimir todos los números que no son múltiplos de 3 y 5
fuente
if x %3 == 0 or x % 5 == 0:
,pass
,else:
,print x
continue
. Mi conclusión es que nunca hay una necesidad , pero en algunos casos (como este) el código es más fácil de usarcontinue
. Es un muy buen ejemplo.No es absolutamente necesario, ya que se puede hacer con IF, pero es más legible y también menos costoso en tiempo de ejecución.
Lo uso para omitir una iteración en un bucle si los datos no cumplen algunos requisitos:
Salida:
Como puede ver, el valor incorrecto no apareció después de la
continue
declaración.fuente
if
solo puede hacer lo quecontinue
hace si todo el código está contenido en un bloque.continue
omite el código que está incluso fuera delif
bloque.Por ejemplo, si desea hacer diferentes cosas según el valor de una variable:
En el ejemplo anterior, si uso
break
el intérprete se saltará el bucle. Pero concontinue
esto solo se saltan las declaraciones if-elif e ir directamente al siguiente elemento del ciclo.fuente
my_var
de0
.continue
.elif
debería ser unif
. El código simplemente no da la apariencia de que sabes lo que estás haciendo.continue
simplemente omite el resto del código en el ciclo hasta la próxima iteraciónfuente