Afirmar las declaraciones son una manera conveniente de insertar aserciones el eliminar errores en un programa:
assert_stmt |
::= | "afirme"
la expresión [ ", "
expresión ] |
La forma simple, " afirma la expresión ", es equivalente a
si el __ elimina errores de la expresión de __: si no: aumento AssertionError
La forma extendida, " afirma expression1, expression2 ", es equivalente a
si el __ elimina errores de __: si no expression1: aumento AssertionError, expression2
Las aserciones son un mecanismo primitivo para implementar un estilo de
programación diseño-por-contrato: uno hace explícitas en su código
las pre-condiciones, post-condiciones e invariantes que deberían hacer
parte de la especificación formal de una implementación.
El ejemplo canónico de diseño-por-contrato soportado directamente a
nivel de lenguaje es Eiffel
http://www.eiffel.com/developers/presentations/ .
Para una breve introducción sobre cómo se puede usar la instrucción
assert, mirar
http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html ; es un
tutorial para Java, pero los conceptos son los mismos y aplican igual
en Python.
-Óscar.