¿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?
while True:; pass # Busy-wait for keyboard interrupt (Ctrl+C)
en los documentos de Python me confundió en el camino, que no me pareció que el tiempo fuera claro, se comporta de manera equivalente a continuar en este caso o se pretendía algo más. La primera oración "La declaración de aprobación no hace nada". caracteriza todas las respuestas a mi pregunta, pero de alguna manera no me llamó la atención.Respuestas:
Sí, hacen cosas completamente diferentes.
pass
simplemente no hace nada, mientrascontinue
continúa con la siguiente iteración del bucle. En su ejemplo, la diferencia se hará evidente si agrega otra declaración después deif
: Después de ejecutarpass
, esta declaración adicional se ejecutará. Despuéscontinue
, no lo haría.fuente
pass
palabra clave no hace nada, solo es útil cuando necesita sintácticamente una suite con sangría, pero no quiere hacer nada. Un ejemplo común es si quiere ignorar alguna excepción, la usaexcept SomeException: pass
. También hay muchos otros casos de uso. No necesitaría estrictamente una palabra clave para esto, ya que podría usar cualquier otra declaración que no haga nada (por ejemplo,0
es una declaración perfectamente válida que no tiene un efecto), pero tener una palabra clave para esto le permite ser más explícito sobre no querer hacer nada.pass
?Sí, hay una diferencia.
continue
fuerza al bucle a comenzar en la siguiente iteración mientras quepass
significa "no hay código para ejecutar aquí" y continuará por el resto o el cuerpo del bucle.Ejecute estos y vea la diferencia:
fuente
continue
saltará de nuevo a la parte superior del bucle.pass
continuará procesando.si pass está al final del ciclo, la diferencia es insignificante ya que el flujo volvería a la parte superior del ciclo de todos modos.
fuente
En su ejemplo, no habrá diferencia, ya que ambas declaraciones aparecen al final del ciclo.
pass
es simplemente un marcador de posición, ya 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 reiniciar.es muy diferente de
fuente
Hay una diferencia entre ellos,
continue
omite la iteración actual del bucle y ejecuta la siguiente iteración.pass
no hace nada. Es un marcador de posición de declaración vacía.Prefiero darle un ejemplo, que aclarará esto mejor.
fuente
Sí, hay una diferencia.
Continue
en realidad se salta el resto de la iteración actual del bucle (volviendo al principio).Pass
es una declaración en blanco que no hace nada.Ver los documentos de Python
fuente
En esos ejemplos, no. Si la declaración no es la última en el ciclo, entonces tienen efectos muy diferentes.
fuente
Diferencia entre pasar y continuar en un ciclo for:
Entonces, ¿por qué pasar en python?
Si desea crear una clase, método o bloque vacío.
Ejemplos:
sin 'pasar' en los ejemplos anteriores arrojará IndentationError.
fuente
La salida es
Nuevamente, deje correr el mismo código con cambios menores.
La salida es -
El pase no hace nada. La computación no se ve afectada. Pero continuar vuelve al principio del ciclo para avanzar con el siguiente cálculo.
fuente
Considéralo de esta manera:
Pase: ¡ Python funciona únicamente en sangría! No hay llaves vacías, a diferencia de otros idiomas.
Por lo tanto, si no desea hacer nada en caso de que una condición sea verdadera, no hay otra opción que pasar.
Continuar: esto es útil solo en caso de bucles. En caso de que, para un rango de valores, no desee ejecutar las declaraciones restantes del bucle después de que esa condición sea verdadera para ese pase en particular, entonces deberá usar continuar.
fuente
pass
si la instrucción esTrue
y realizar la operación si es asíFalse
. Esto permite un escaneo eficiente de listas multipropósito.pass
podría usarse en escenarios cuando necesita algunas funciones, clases o bucles vacíos para futuras implementaciones, y no hay ningún requisito para ejecutar ningún código.continue
se usa en escenarios cuando no cuando se cumple alguna condición dentro de un ciclo y necesita omitir la iteración actual y pasar a la siguiente.fuente