Instrucción assert en python

1,857 views
Skip to first unread message

Diego Andrés Sanabria Martin

unread,
Dec 5, 2005, 10:23:17 AM12/5/05
to sl-...@googlegroups.com
Saludos a todos!!!

Quisiera saber para que es la instrucción assert en python
--
http://www.el-directorio.org
El sitio de linux y el Software Libre en Colombia

Debian Colombia
http://www.debiancolombia.org

"I know that it will hurt, I know that it will break your heart, the
way things are, and the way they've been.
Don't spread the discontent, don't spread the lies, don't make the
same mistakes with your own life."
Natalie Merchant

"Los sueños de la razón producen monstruos."
Goethe

"Si no sabes ser fuerte pero tampoco sabes ser débil,
entonces serás derrotado"
Szun Tzu

David Arenas

unread,
Dec 5, 2005, 10:37:06 AM12/5/05
to sl-...@googlegroups.com, dieg...@gmail.com
Hola Diego y sl-proguis,

encontre esto: assert sirve para

Afirmacion de las declaraciones

Afirmar las declaraciones son una manera conveniente de insertar aserciones el eliminar errores en un programa:

 

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 
Osea que sirve, para comprobar la información que se inserta de una vez, ahorrando en ese caso un if, para hacer comprobaciones sobre el programa, a nivel de pruebas de software assert  es una función bastante buena.

En la lista de python en español , encontré lo siguiente, http://listas.aditel.org/archivos/python-es/2005-February/012248.html
en ese link explican sobre un ejemplo la autorización del assert.

Bueno, espero sido claro,chao
--

Salu2
Atentamente:
DAVID ARENAS
Estudiante
Universidad Manuela Beltrán
GNU/Linux Debian Sarge
Usuario Linux registrado #371355
Knoppix 3.9 -> Debianizado
En kernel 2.6.11.7
Bogota-Colombia

Manuel Alejandro Cerón Estrada

unread,
Dec 5, 2005, 10:51:31 AM12/5/05
to sl-...@googlegroups.com
Hola,

Si, es exactamente como dice David. Lo que hace assert es lanzar una excepción en caso de que cierta expresión no se cumpla, por ejemplo:

assert objeto != None

Hay que aclarar que, al igual que en otros lenguajes como C, las expresiones de aserción sólo se evalúan en modo de depuración, es decir, cuando se usa "python -d", en el modo de ejecución normal, todas las sentencias assert se ignoran.

Saludos,

Manuel.


El día 5/12/05, David Arenas < xie...@gmail.com> escribió:



--
· Manuel Alejandro Cerón Estrada
· cero...@gmail.com
· http://ceronman.blogspot.com

Óscar López

unread,
Dec 6, 2005, 10:46:15 AM12/6/05
to sl-prog
Hola, Diego.

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.

Reply all
Reply to author
Forward
0 new messages