La definición de la continuedeclaración es:
La
continuedeclaració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 continuesea necesario?
La definición de la continuedeclaración es:
La
continuedeclaració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 continuesea 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.
continuehace, pero no es demasiado útil, cuando podría hacerloif letter != 'D': print 'Current Letter:', letterMe 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
continuede 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>: continuelugar deif not <condition>: ...evitar un nivel de sangría que de otro modo sería necesario si se escribiera sin él.continuedeclaració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
continuedeclaración aquí? Podría eliminarse mediante el uso , y el código sería igual de legible.element not in colorsDigamos 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 xcontinue. 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
continuedeclaración.fuente
ifsolo puede hacer lo quecontinuehace si todo el código está contenido en un bloque.continueomite el código que está incluso fuera delifbloque.Por ejemplo, si desea hacer diferentes cosas según el valor de una variable:
En el ejemplo anterior, si uso
breakel intérprete se saltará el bucle. Pero concontinueesto solo se saltan las declaraciones if-elif e ir directamente al siguiente elemento del ciclo.fuente
my_varde0.continue.elifdebería ser unif. El código simplemente no da la apariencia de que sabes lo que estás haciendo.continuesimplemente omite el resto del código en el ciclo hasta la próxima iteraciónfuente