assert, era RE: Sobrecargar función
Hernán Martínez Foffani
hernan en orgmf.com.ar
Jue Feb 10 17:15:42 CET 2005
> Ahora lo tengo mas claro y funciona. Lo que no entiendo es lo de
> assert. Para que lo usas? He mirado la ayuda de Python pero no lo he
> entendido.
El assert es una instruccion de python que te permite definir
condiciones que deban cumplirse siempre. En caso que la expresion
booleana sea True assert no hace nada y en caso de False dispara
una excepcion.
>>> assert True
>>> assert False
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>>
Se pueden usar como pre y post condiciones en métodos, funciones,
bloques de código pero sobre todo para especificar invariantes.
Es mas corto que escribir un if, mucho mas claro para el que lo
lee y como bonus la sentencia no se ejecuta en caso que el
intérprete se invoque con -O.
Para los puristas eso último hace que el assert no sea
particularmente apto para escribir pruebas unitarias. ;)
-Hernán.
Más información sobre la lista de distribución Python-es