[pyar] Cuando el futuro afecta el presente

Gilles Facundo fmgilles en gmail.com
Lun Oct 26 10:20:31 ART 2015


Creo que sebastián no se refería al error técnico sino a algo más sutil. El
error te lo tira en la línea anterior a la asignación. Eso me pasó en otros
lenguajes, a veces te detecta un error y te informa el número de la línea
anterior a la que efectivamente contiene el error. No es que el "futuro
modifica el pasado"  sino que simplemente debe haber un contador de línea
que por razones técnicas va atrasado una unidad.
Tranquilo... no se ha violado la regla de causalidad...

On 26 October 2015 at 08:42, Alejandro Santos <listas en alejolp.com> wrote:

> 2015-10-24 3:23 GMT+02:00 Sebastian Bassi <sebastian.bassi en globant.com>:
> > 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
> >
>
> Acceder/usar a variables globales en Python es una operacion costosas.
> Como no tenes un 'global' de la variable, el parser asume que es una
> variable local, que son mas rapidas de acceder que las globales. Pero
> entonces tenes un foo local sin valor, de ahi sale el ULE.
>
> >>> timeit.timeit("f()", "def f(): pass", number=10**8)
> 6.7549688816070557
> >>> timeit.timeit("A=10", "A=None", number=10**8)
> 1.6623871326446533
> >>> timeit.timeit("f()", "def f(): a=10", number=10**8)
> 7.6596798896789551
> >>> 7.65 - 6.75
> 0.90000000000000036
> >>> timeit.timeit("f()", "def f(): a=0;a=a", number=10**8)
> 9.4953410625457764
> >>> timeit.timeit("A=0;A=A", "A=0", number=10**8)
> 3.4968819618225098
> >>> timeit.timeit("A=0;A=A", "pass", number=10**8)
> 3.5225279331207275
> >>> 9.49 - 6.75
> 2.7400000000000002
>
>
> --
> Alejandro Santos
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Facundo M. Gilles
*Laboratorio de Materia Blanda - *softmatter.quimica.unlp.edu.ar
<http://softmatter.quimica.unlp.edu.ar/?page_id=193>
Instituto de Investigaciones Fisicoquímicas Teóricas y Aplicadas (INIFTA) -
U.N.L.P. - CONICET
Tel./Fax: (+54 221) 425-7430 / 7291 (int.181)
Diag. 113 y Calle 64 - (1900) La Plata, Buenos Aires, Argentina
<https://www.google.com/maps/d/edit?mid=zL7coKy3Tqhs.k0EoErGMJ6fU&usp=sharing>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151026/b04cedd2/attachment.html>


More information about the pyar mailing list