UnboundLocalError: local variable 'UI_curses' referenced before assignment
Harpo Maxx
harpo en matrix.org.ar
Jue Sep 8 21:12:39 CEST 2005
El Thu, Sep 08, 2005 at 11:17:24AM -0300, Fernando Canizo dijo:
> El 08/sep/2005 a las 06:07 -0300, Jose me decía:
> > Hola Fernando...
> >
> > En Python, dentro de los metodo de una clase, para referirse a la instancia de
> > la propia clase debes de usar el primer parameto que recibes en el metodo
> > (por norma lo llamamos 'self') asi que en
> > > class UI_curses:
> > > def __init__(self):
> > > UI_curses.mainwin = curses.initscr()
> > self.mainwin = curses.initscr()
> > > UI_curses.maxy, UI_curses.maxx = UI_curses.mainwin.getmaxyx()
> > self.maxy, self.maxx = self.mainwin.getmaxyx()
> > > UI_curses.y = 0 # actual highlighted line
> > self.y = 0
> > ... y asi sucesivamente.
>
> Esta clase es una especie de 'singleton no implementado'. Es decir,
> como no voy a tener más que un sólo objeto de esta clase, me pareció
> innecesario usar self, quiero que todas las variables que contenga
> sean variables de clase y no de instancia.
>
> De hecho todo el código funcionaba hasta que agregué los métodos
> highlight*.
>
> Esto de las variables de clase y de instancia lo saqué del siguiente
> url:
> http://www.ibiblio.org/g2swap/byteofpython/read/class-and-object-vars.html
Yo siempre que use variables de instancias use self.X para
referenciarlas dentro del metodo. Vi el ejemplo que posteaste del libro
byteofpython.
Encontre algunos le tira el mismo error
http://www.daniweb.com/techtalkforums/thread31501.html
No esta del todo claro...
--
Harpo+
[FP] F152 8D50 6939 E21A 7A90 CDD4 AEE4 FA48 DF70 4D68
Más información sobre la lista de distribución Python-es