[Python-es] Problema con una variable.

Oscar Carballal oscar.carballal en gmail.com
Mie Sep 5 16:51:04 CEST 2012


Tienes que reemplazar la copia de la variable global antes de modificar su
valor:

ej:


    def __init__(self):
        global __conectado
        __conectado = False

Por otra parte espero que tengas un buen motivo para usar la declaración
'global' en python, ya que (espero que nadie se me tire encima) declarar
globales en python es un poco absurdo:
http://stackoverflow.com/questions/146557/do-you-use-the-global-statement-in-python

Un saludo,
Oscar Carballal

El 5 de septiembre de 2012 16:35, kausdiv <kausdiv en gmail.com> escribió:

> Hola.
> Os parecerá absurdo pero tengo un pequeño problema de principiante y no
> veo la solución:
>
> -----------------Clase--------**---
> class Telefono():
>     global __cursor
>     global __db
>     global __conectado
>
>     def __init__(self):
>         __conectado = False
>
>     def prueba(self):
>         if __conectado != True:
>             print "ok conectado"
>         else:
>             print "NO conectado"
>
> ------------------
>
> En main():
>
>    tlf = Telefono()
>     tlf.prueba()
>
> y sale el siguiente error:
>     if __conectado != True:
> NameError: global name '_Telefono__conectado' is not defined. ( en la
> linea del procedimiento prueba)
>
> He puesto un print en el __init__ y se ejecuta y por tanto se asigna a
> False.
>
> ¿ que puede ser ?
>
> Saludos
>
> ______________________________**_________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120905/30730f0a/attachment.html>


Más información sobre la lista de distribución Python-es