Python pass es un marcador de posición que evita que el programa emita un mensaje de error. La sentencia conserva la sintaxis.

¿Qué es Python pass?

En primer lugar, Python pass funciona como un marcador de posición sin ninguna función básica adicional. En algunas ci­r­cu­n­s­ta­n­cias te puede hacer falta in­tro­du­cir una sentencia en el código que haga que el programa siga eje­cu­tá­n­do­se. Esta sentencia evita problemas en Python. Un ejemplo típico de apli­ca­ción es el código en el que ya se ha creado un lugar para una función, pero aún no está im­ple­me­n­ta­da o todavía no se ha creado. Si dejaras esta parte del cuerpo del código vacía re­ci­bi­rías un mensaje de error en la pantalla. Python pass evita que esto suceda. Más adelante, el marcador de posición puede ser su­s­ti­tui­do por la función real y el código seguirá fu­n­cio­na­n­do co­rre­c­ta­me­n­te.

¿Cómo se utiliza Python pass?

Python pass se expresa si­m­ple­me­n­te con el comando pass y se utiliza dentro del bloque de código. Python pass se utiliza es­pe­cia­l­me­n­te en los bucles a los que aún no se les ha asignado una de­te­r­mi­na­da función. El marcador de posición se utiliza a menudo después de una sentencia if. Tiene el siguiente aspecto:

if some_condition:
    print("Condition encountered")
else:
    pass

Python pass también puede co­m­bi­nar­se con otras se­n­te­n­cias.

¿Cómo funciona Python pass?

El fu­n­cio­na­mie­n­to de Python pass, por ejemplo, en un bucle, es algo parecido al de un operativo policial que regula el tráfico y lo redirige para que evite el lugar de un accidente. El programa comienza la primera pasada, consulta una condición definida y comprueba si es true (es decir, verdadera) o false (es decir, falsa) y actúa en co­n­se­cue­n­cia. Sin embargo, si el de­sa­rro­lla­dor del código no ha in­tro­du­ci­do una co­n­se­cue­n­cia en dicho nivel, entonces el programa emitirá un error. Pero, al haber un Python pass, el programa evita este “accidente” y permite que la consulta se siga eje­cu­ta­n­do sin in­te­rru­p­cio­nes.

Python pass en un bucle for

Con los ejemplos adecuados vas a poder ver fá­ci­l­me­n­te para qué se usa Python pass y cuáles son sus ventajas. En el primer ejemplo vamos a crear una serie numérica con un bucle for de Python. Para ello, el programa va a contar de 0 en adelante. La condición que hace que el bucle termine es que el número no sea mayor o igual a 10. Uti­li­za­n­do una sentencia if else de Python el de­sa­rro­lla­dor quiere insertar una condición cuando el contador llegue a 8. Sin embargo, hasta que el de­sa­rro­lla­dor decida in­tro­du­cir dicha condición Python pass permite que el programa continúe con su trabajo y, a la vez, mantenga su es­tru­c­tu­ra.

for num in range(10):
    if num == 8:
        pass
    print(f"El número actual es: {num}")
print("La cuenta ha terminado")

El resultado es el siguiente:

El número actual es: 0
El número actual es: 1
El número actual es: 2
El número actual es: 3
El número actual es: 4
El número actual es: 5
El número actual es: 6
El número actual es: 7
El número actual es: 8
El número actual es: 9
La cuenta ha terminado

Ob­se­r­va­n­do la salida parece que el bucle se ha ejecutado con no­r­ma­li­dad y ha contado de 0 a 9 sin in­te­rru­p­ción. Sin embargo, si no hubieras in­tro­du­ci­do la sentencia pass donde debías, el bucle if estaría in­co­m­ple­to y el programa habría dado error. Así que tampoco es que se ignore la sentencia Python pass: en lugar de ser ignorada, la sentencia si­m­ple­me­n­te le dice al programa que omita dicha línea (in­co­m­ple­ta) y que se centre en las si­guie­n­tes líneas de código.

Python pass en un bucle while

Python pass también se puede utilizar en un simple bucle while de Python, que ya conocemos del tutorial de Python. En este ejemplo, el bucle debe comprobar si un número es menor que 5. Dado que la co­n­se­cue­n­cia (else) aún no está definida, el programa de­te­c­ta­ría un error al intentar leerla, en cuanto el número fuera igual o mayor que 5, y emitiría un error. En cambio, Python pass va a permitir que el programa omita la falta de código en else y siga eje­cu­tá­n­do­se.

counter = 0
while counter < 5:
    print(f"El número {counter} es inferior a 5")
    counter = counter + 1
else:
    pass

Python pass en una clase

Python pass también funciona dentro de una clase del lenguaje de pro­gra­ma­ción web. Esto es útil si ya has creado la clase, pero aún no sabes todo el contenido que le quieres dar. En este ejemplo, el objetivo es di­s­ti­n­guir los vehículos que entran en un recinto. Mientras que ya existen di­re­c­tri­ces es­pe­cí­fi­cas para los coches y los camiones, las bi­ci­cle­tas carecen de directriz alguna. El código tiene el siguiente aspecto:

class Vehículo:
    def Coche(self):
        print("Ha entrado un coche en el recinto")
    def furgoneta(self):
        print("Ha entrado una furgoneta en el recinto")
    def Bicicleta(self):
        pass

Di­fe­re­n­cias con break y continue

Aunque Python pass es similar a las se­n­te­n­cias break y continue, también hay algunas di­fe­re­n­cias muy im­po­r­ta­n­tes. Las tres se­n­te­n­cias son idóneas para evitar que un bucle o un programa cometa errores. Sin embargo, mientras que Python pass solo garantiza que el programa pueda continuar co­rre­c­ta­me­n­te, break y continue in­te­r­vie­nen mucho más en el proceso. La sentencia break permite terminar un bucle por completo si una condición in­te­r­me­dia deja de cumplirse antes de su fi­na­li­za­ción. La sentencia continue permite in­te­rru­m­pir un bucle ante un de­te­r­mi­na­do evento externo y continuar con él más adelante. Puedes leer más sobre estas dos se­n­te­n­cias en el artículo sobre Python break y continue.

Uso in­ne­ce­sa­rio de Python pass

Dado que Python pass bá­si­ca­me­n­te le dice al programa que no haga nada, la sentencia es in­ne­ce­sa­ria en algunos casos. En estos casos, aunque el uso de Python pass no es in­co­rre­c­to, si se omitiera la sentencia, el resultado sería idéntico y el código re­su­l­ta­n­te sería más sencillo. Aquí tienes un ejemplo de este tipo de caso:

if 2 + 2 == 4:
    print("El resultado es correcto")
    pass
    print("Esto era de esperar")

Si eje­cu­ta­mos un programa con este código, el resultado que obtenemos es el siguiente:

El resultado es correcto
Esto era de esperar

El resultado no cambiaría si qui­tá­ra­mos la sentencia pass; al mismo tiempo tu código sería más corto y, por tanto, más sencillo. Co­n­clu­sión, aunque Python pass aporte poco, no debe uti­li­zar­se de forma in­ne­ce­sa­ria. Utilízalo solamente en aquellos casos en los que, de otro modo, cabría la po­si­bi­li­dad de que se produjera un error.

Ir al menú principal