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