[Python-es] Problema con una variable.

Rock Neurotiko miguelglafuente en gmail.com
Mie Sep 5 16:53:58 CEST 2012


Lo que no entiendo es el porqué de usar variables globales, en lugar de
variables de instancia, lo que te facilitaria la vida:

class Telefono():

    def __init__(self):
        self.conectado = False

    def prueba(self):
        if not self.conectado: (tambien puedes escribirlo "if self.conectad
!= True")
            print "ok conectado"
        else:
            print "NO conectado"


Con esto te deberia de funcionar.

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/>
>



-- 
Miguel García Lafuente - Rock Neurotiko
Vocal de la Junta Directiva Nacional del Partido Pirata.
Coordinador de Jóvenes Piratas en Madrid.

"Libertad en lugar de miedo." - "Información libre, sociedad libre."

El contenido de este e-mail es privado, no se permite la revelacion del
contenido de este e-mail a gente ajena a él.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120905/ed0a427e/attachment.html>


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