while terminar sintaxis salir proceso for example ejemplos detener como ciclo python syntax continue

terminar - ¿Hay una diferencia entre `continue` y` pass` en un ciclo for en python?



sintaxis del ciclo while en python (9)

¿Hay alguna diferencia significativa entre las dos palabras clave de python continue y pass como en los ejemplos

for element in some_list: if not element: pass

y

for element in some_list: if not element: continue

Debo estar al tanto?


Considéralo de esta manera:

Pase: ¡ Python funciona puramente con sangría! No hay llaves vacías, a diferencia de otros idiomas.

Entonces, si no quiere hacer nada en caso de que una condición sea cierta, no hay otra opción que pasar.

Continuar: esto es útil solo en caso de bucles. En el caso, para un rango de valores, no desea ejecutar las declaraciones restantes del ciclo después de que esa condición sea verdadera para ese pase en particular, entonces deberá usar continuar.


En esos ejemplos, no. Si la declaración no es la última en el ciclo, entonces tienen efectos muy diferentes.


En su ejemplo, no habrá diferencia, ya que ambas declaraciones aparecen al final del ciclo. pass es simplemente un marcador de posición, en el sentido de que no hace nada ( pasa la ejecución a la siguiente instrucción). continue , por otro lado, tiene un propósito definido: le dice al ciclo que continúe como si acabara de reiniciarse.

for element in some_list: if not element: pass print element

es muy diferente de

for element in some_list: if not element: continue print element


Hay una diferencia entre ellos,
continue omite la iteración actual del ciclo y ejecuta la siguiente iteración.
pass no hace nada Es un marcador de posición de declaración vacío.
Prefiero darte un ejemplo, que aclarará esto más mejor.

>>> for element in some_list: ... if element == 1: ... print "Pass executed" ... pass ... print element ... 0 Pass executed 1 2 >>> for element in some_list: ... if element == 1: ... print "Continue executed" ... continue ... print element ... 0 Continue executed 2


Sí, hacen cosas completamente diferentes. pass simplemente no hace nada, mientras continue continúa con la siguiente iteración de bucle. En su ejemplo, la diferencia se pondría de manifiesto si agregara otra declaración después de if : Después de ejecutar el pass , se ejecutaría esta declaración adicional. Después de continue , no lo haría.

>>> a = [0, 1, 2] >>> for element in a: ... if not element: ... pass ... print element ... 0 1 2 >>> for element in a: ... if not element: ... continue ... print element ... 1 2


Sí, hay una diferencia. Continue realidad omite el resto de la iteración actual del ciclo (volviendo al principio). Pass es una declaración en blanco que no hace nada.

Ver los documentos de Python


Sí, hay una diferencia. continue obliga al ciclo a comenzar en la siguiente iteración, mientras que pass significa "no hay código para ejecutar aquí" y continuará por el resto o el cuerpo del ciclo.

Ejecute estos y vea la diferencia:

for element in some_list: if not element: pass print 1 # will print after pass for element in some_list: if not element: continue print 1 # will not print after continue


continue saltará de nuevo a la parte superior del ciclo. pass continuará procesando.

si el pase está en el extremo del bucle, la diferencia es insignificante, ya que el flujo volvería a la parte superior del bucle de todos modos.


x = [1,2,3,4] for i in x: if i==2: pass #Pass actually does nothing. It continues to execute statements below it. print "This statement is from pass." for i in x: if i==2: continue #Continue gets back to top of the loop.And statements below continue are executed. print "This statement is from continue."

El resultado es

>>> This statement is from pass.

Nuevamente, ejecute el mismo código con cambios menores.

x = [1,2,3,4] for i in x: if i==2: pass #Pass actually does nothing. It continues to execute statements below it. print "This statement is from pass." for i in x: if i==2: continue #Continue gets back to top of the loop.And statements below continue are executed. print "This statement is from continue."

La salida es -

>>> This statement is from pass. This statement is from pass. This statement is from pass. This statement is from pass. This statement is from continue. This statement is from continue. This statement is from continue.

El pase no hace nada. La computación no se ve afectada. Pero continue vuelve a la parte superior del ciclo para procesar con el siguiente cálculo.