La declaración de afirmación de Python

L

En este artículo, examinaremos cómo utilizar el assert declaración en Python.

En Python, el assert La declaración se usa para validar si una condición es verdadera o no, usando la sintaxis:

assert <condition>

Si la condición se evalúa como True, el programa continúa ejecutándose como si nada fuera de lo común. Sin embargo, si la condición se evalúa como False, el programa termina con un AssertionError.

>>> assert True

No sucede nada cuando se ejecuta el código anterior, ya que la condición se evalúa como True. Alternativamente, la condición en el ejemplo siguiente se evalúa como False:

>>> assert False
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

Para mayor claridad, podemos agregar un mensaje de error personalizado a la salida de la aserción de la siguiente manera:

>>> assert False, "This is a custom assertion message!"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: This is a custom assertion message!

La declaración de aserción es útil cuando queremos comprobar que una variable en nuestro código asume el valor correcto y terminar el programa si no lo hace. Esto ayuda a prevenir modos de falla silenciosos, que pueden ocurrir si el programa continúa ejecutándose con valores erróneos y puede ser difícil de depurar.

A continuación, se muestra un ejemplo de una declaración de aserción con una condición más significativa. Supongamos que queremos asegurarnos de que la entrada de una variable de bandera por parte del usuario se haya establecido en uno de varios valores correctos. De lo contrario, terminaremos la ejecución del programa. Podemos hacerlo de la siguiente manera:

>>> flag = input("Enter a flag (y/n): ")
Enter a flag (y/n): y
>>> assert flag == "y" or flag == "n", "Invalid flag, must be 'y' or 'n'"

En el ejemplo anterior, el usuario ingresó un valor válido para la bandera, por lo que no se generan errores. Sin embargo, en el siguiente ejemplo, se lanza una afirmación debido a una entrada de usuario no válida:

>>> flag = input("Enter a flag (y/n): ")
Enter a flag (y/n): b
>>> assert flag == "y" or flag == "n", "Invalid flag, must be 'y' or 'n'"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: Invalid flag, must be 'y' or 'n'

Cuando se usa de esta manera, su código debe detectar el error lanzado y mostrar el mensaje de error personalizado como salida al usuario para que pueda corregir su respuesta. Esto tiene una gran cantidad de usos en los programas de Python, ya sea afirmando entradas a una ruta API o verificando que un recurso descargado contenga la información adecuada.

Otro punto importante a tener en cuenta es que cuando ejecuta el intérprete de Python o la secuencia de comandos de Python desde la línea de comandos, el –O La bandera se puede utilizar para ejecutar el programa sin hacer cumplir ninguna afirmación. Esto ignorará las declaraciones de aserción desactivando el modo de depuración del intérprete de Python. Tenga cuidado al usar esto, ya que puede hacer que su código acepte entradas no válidas o peligrosas.

Sobre el Autor

Este artículo fue escrito por Ramiro de la Vega, un consultor y desarrollador de software apasionado por ayudar a otros a mejorar sus vidas a través del código. Jacob es el creador de Tarjeta de código – una herramienta conveniente para que los desarrolladores busquen, copien y peguen fragmentos de código comunes.

.

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad