[pyar] Pregunta sobre codigo en las FAQ
Lucas Manuel Rodriguez
lucarodriguez en gmail.com
Jue Ene 16 15:13:19 ART 2014
Hola gente, pregunta muy simple,
En su página de FAQ [0] encontré el siguiente excerpt de code:
def f(x):
def g():
x += 1
return x
return g()
# aquí "x" se incrementó, x no es local a 'g'
# x es una celda en toda la función f
# para que pueda ser accedida desde g y f a la vez
El cual si lo ejecuto agregándole al final por ejemplo 'i = f(5)' obtengo:
$ python ./test.py
Traceback (most recent call last):
File "./test.py", line 7, in <module>
i = f(5)
File "./test.py", line 5, in f
return g()
File "./test.py", line 3, in g
x += 1
UnboundLocalError: local variable 'x' referenced before assignment
FYI,
$ python --version
Python 2.7.4
Sino me equivoco, en Python, en la sentencia 'x += 1' se esta declarando a
'x' como local en 'g()' (al querer escribirla) y a su vez se esta leyendo
su valor (que no fue asignado) por eso viene el 'UnboundLocalError'.
Avisenme si se me está escapando algo.
[0] -
http://python.org.ar/PreguntasFrecuentes#A.2BAL8-Qu.2BAOk_son_las_celdas.3F
Saludos.
Rodríguez, Lucas Manuel.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140116/3be4d7b3/attachment.html>
More information about the pyar
mailing list