[pyar] Cuando el futuro afecta el presente
Sebastian Bassi
sebastian.bassi en globant.com
Vie Oct 23 22:23:08 ART 2015
Hoy me encontré con esto, me llamó mucho la atención que algo tan llamativo
nunca lo haya visto pese a que tengo mas de 10 años programando en Python:
===============================================
foo = 1
def test_foo():
print foo
def new_test_foo():
print foo
foo = 2
test_foo()
new_test_foo()
===============================================
test_foo se ejecuta sin problemas (porque al no encontrar foo en el ambito
de la función, lo busca en el ambito anterior y lo encuentra).
new_test_foo, me dá un error inesperado (para mi):
Traceback (most recent call last):
File "/home/sbassi/foo.py", line 15, in <module>
new_test_foo()
File "/home/sbassi/foo.py", line 10, in new_test_foo
print foo
UnboundLocalError: local variable 'foo' referenced before assignment
Lo que me parece "raro" es que el programa falla en la linea "print foo" de
new_test_foo, pero debido a lo que va a ocurrir en la siguiente linea, ya
que el print foo de la funcion test_foo no falla.
Nada, lo comentaba aca porque me llamó la atención, no recuerdo que me haya
ocurrido en otro lenguaje (tanpoco es que conozco tantos).
--
Sebastián Bassi. sebastian.bassi en globant.com
Lic. en Biotecnología con orientación en genética molecular.
--
The information contained in this e-mail may be confidential. It has been
sent for the sole use of the intended recipient(s). If the reader of this
message is not an intended recipient, you are hereby notified that any
unauthorized review, use, disclosure, dissemination, distribution or
copying of this communication, or any of its contents,
is strictly prohibited. If you have received it by mistake please let us
know by e-mail immediately and delete it from your system. Many thanks.
La información contenida en este mensaje puede ser confidencial. Ha sido
enviada para el uso exclusivo del destinatario(s) previsto. Si el lector de
este mensaje no fuera el destinatario previsto, por el presente queda Ud.
notificado que cualquier lectura, uso, publicación, diseminación,
distribución o copiado de esta comunicación o su contenido está
estrictamente prohibido. En caso de que Ud. hubiera recibido este mensaje
por error le agradeceremos notificarnos por e-mail inmediatamente y
eliminarlo de su sistema. Muchas gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151023/52f5638f/attachment-0001.html>
More information about the pyar
mailing list