Afirmaciones de Python En cualquier lenguaje de programación están las herramientas de depuración que ayudan al flujo fluido del código. Las afirmaciones son principalmente suposiciones que un programador sabe o siempre quiere que sean ciertas y, por lo tanto, las incluye en el código para que su falla no permita que el código se ejecute más.
Afirmar palabra clave en Python
En términos más simples, podemos decir que la afirmación es la expresión booleana que verifica si la afirmación es Verdadera o Falsa. Si la declaración es verdadera, entonces no hace nada y continúa la ejecución, pero si la declaración es falsa, detiene la ejecución del programa y arroja un error.
Diagrama de flujo de la declaración de afirmación de Python

Diagrama de flujo de la declaración de afirmación de Python
Python afirma la sintaxis de la palabra clave
En Python, el afirmar La palabra clave ayuda a lograr esta tarea. Esta declaración toma como entrada una condición booleana, que cuando devuelve verdadero no hace nada y continúa el flujo normal de ejecución, pero si se calcula que es falsa, genera un AssertionError junto con el mensaje opcional proporcionado.
Sintaxis: afirmar condición, error_message (opcional)
Parámetros:
- condición : La condición booleana que devuelve verdadero o falso.
- mensaje de error : El argumento opcional que se imprimirá en la consola en caso de AssertionError
Devoluciones: Devuelve AssertionError, en caso de que la condición se evalúe como falsa junto con el mensaje de error que se proporcionó.
Python afirma palabra clave sin mensaje de error
Este código intenta demostrar el uso de afirmar en Python verificando si el valor de b es 0 antes de realizar una operación de división. a se inicializa con el valor 4 y b se inicializa con el valor 0. El programa imprime el mensaje. El valor de a/b es: La declaración de afirmación verifica si b no es igual a 0. Dado que b es 0, la declaración de afirmación La declaración falla y genera un AssertionError.
Dado que la declaración de afirmación fallida genera una excepción, el programa finaliza y no continúa ejecutando la declaración de impresión en la línea siguiente.
Python3
cadena.formato
# initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0> print>(a>/> b)> |
>
>
Producción:
The value of a / b is : --------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Input In [19], in () 8 # using assert to check for 0 9 print('The value of a / b is : ') --->10 afirmar b != 0 11 imprimir(a / b) Error de aserción:> Python afirma palabra clave con un mensaje de error
Este código intenta demostrar el uso de afirmar en Python verificando si el valor de b es 0 antes de realizar una operación de división. a se inicializa con el valor 4 y b se inicializa con el valor 0. El programa imprime el mensaje. El valor de a/b es: La declaración de afirmación verifica si b no es igual a 0. Dado que b es 0, la declaración de afirmación La declaración falla y genera un AssertionError con el mensaje Error de división cero .
desde un excepción es generado por la declaración de aserción fallida, el programa termina y no continúa ejecutando la declaración de impresión en la siguiente línea.
Python3
# Python 3 code to demonstrate> # working of assert> # initializing number> a>=> 4> b>=> 0> # using assert to check for 0> print>(>'The value of a / b is : '>)> assert> b !>=> 0>,>'Zero Division Error'> print>(a>/> b)> |
>
>
Producción:
AssertionError: Zero Division Error>
Afirmar dentro de una función
La declaración de afirmación se usa dentro de una función en este ejemplo para verificar que el largo y el ancho de un rectángulo sean positivos antes de calcular su área. La afirmación genera un AssertionError con el mensaje La longitud y el ancho deben ser positivos si es falso. Si la afirmación es verdadera, la función devuelve el área del rectángulo; si es falso, sale con un error. Para mostrar cómo utilizar la afirmación en diversas situaciones, la función se llama dos veces, una con entradas positivas y otra con entradas negativas.
Python3
# Function to calculate the area of a rectangle> def> calculate_rectangle_area(length, width):> ># Assertion to check that the length and width are positive> >assert> length>>0> and> width>>0>,>'Length and width'>+> > >'must be positive'> ># Calculation of the area> >area>=> length>*> width> ># Return statement> >return> area> # Calling the function with positive inputs> area1>=> calculate_rectangle_area(>5>,>6>)> print>(>'Area of rectangle with length 5 and width 6 is'>, area1)> # Calling the function with negative inputs> area2>=> calculate_rectangle_area(>->5>,>6>)> print>(>'Area of rectangle with length -5 and width 6 is'>, area2)> |
>
>
Producción:
AssertionError: Length and widthmust be positive>
Afirmar con condición booleana
En este ejemplo, la declaración de afirmación verifica si la condición booleana x
Python3
# Initializing variables> x>=> 10> y>=> 20> # Asserting a boolean condition> assert> x # Printing the values of x and y print('x =', x) print('y =', y)> |
>
>
Producción:
x = 10 y = 20>
Afirmar tipo de variable en Python
En este ejemplo, las declaraciones de afirmación verifican si los tipos de las variables a y b son str e int, respectivamente. Si alguna de las afirmaciones falla, genera un AssertionError. Si se aprueban ambas afirmaciones, el programa continúa e imprime los valores de a y b.
Python3
# Initializing variables> a>=> 'hello'> b>=> 42> # Asserting the type of a variable> assert> type>(a)>=>=> str> assert> type>(b)>=>=> int> # Printing the values of a and b> print>(>'a ='>, a)> print>(>'b ='>, b)> |
>
>
Producción:
a = hello b = 42>
Afirmar valores del diccionario
En este ejemplo, las declaraciones de afirmación verifican si los valores asociados con las claves manzana, plátano y cereza en el diccionario my_dict son 1, 2 y 3, respectivamente. Si alguna de las afirmaciones falla, genera un AssertionError. Si se pasan todas las afirmaciones, el programa continúa e imprime el contenido del diccionario.
Python3
# Initializing a dictionary> my_dict>=> {>'apple'>:>1>,>'banana'>:>2>,>'cherry'>:>3>}> # Asserting the contents of the dictionary> assert> my_dict[>'apple'>]>=>=> 1> assert> my_dict[>'banana'>]>=>=> 2> assert> my_dict[>'cherry'>]>=>=> 3> # Printing the dictionary> print>(>'My dictionary contains the following key-value pairs:'>, my_dict)> |
>
>
Producción:
My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3}> Aplicación práctica
Esto tiene una utilidad mucho mayor en las funciones de Pruebas y Garantía de Calidad en cualquier dominio de desarrollo. Se utilizan diferentes tipos de afirmaciones según la aplicación. A continuación se muestra una demostración más simple de un programa que solo permite enviar el lote con toda la comida caliente; de lo contrario, rechaza todo el lote.
Python3
patrones de software java
# Python 3 code to demonstrate> # working of assert> # Application> # initializing list of foods temperatures> batch>=> [>40>,>26>,>39>,>30>,>25>,>21>]> # initializing cut temperature> cut>=> 26> # using assert to check for temperature greater than cut> for> i>in> batch:> >assert> i>>=> 26>,>'Batch is Rejected'> >print> (>str>(i)>+> ' is O.K'> )> |
>
>
Producción:
40 is O.K 26 is O.K 39 is O.K 30 is O.K>
Excepción en tiempo de ejecución:
AssertionError: Batch is Rejected>
¿Por qué utilizar la declaración de afirmación de Python?
En Python, la declaración de afirmación es una potente herramienta de depuración que puede ayudar a identificar errores y garantizar que su código funcione según lo previsto. Aquí hay varias justificaciones para usar afirmar:
- Depuración: Las suposiciones hechas por su código se pueden verificar con la declaración de afirmación. Puede encontrar errores rápidamente y depurar su programa colocando declaraciones de afirmación en todo su código.
- Documentación: El uso de declaraciones de afirmación en su código podría actuar como documentación. Las declaraciones de afirmación simplifican que otros comprendan y trabajen con su código, ya que describen explícitamente las suposiciones que hace su código.
- Pruebas: Para garantizar que se cumplan ciertos requisitos, las declaraciones de afirmación se utilizan con frecuencia en las pruebas unitarias. Puede asegurarse de que su código funcione correctamente y de que cualquier cambio que realice no dañe la funcionalidad actual incorporando declaraciones de afirmación en sus pruebas.
- Seguridad: Puede utilizar afirmar para comprobar que las entradas del programa cumplan con los requisitos y validarlos. Al hacerlo, se pueden evitar fallos de seguridad como desbordamientos de búfer y ataques de inyección SQL.