La declaraci贸n de afirmaci贸n de Python

    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 鈥揙 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.

    .

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *