Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2010, 10:42
refreegrata
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
duda con herencia y con decoradores(novato)

Hola, aqui estoy de nuevo, con mis dudas de novato en este aprendizaje de python.

Miren, tengo lo siguiente:
Código PHP:
class conexion(object):
....
    
def realizarConexion(self):
        
def _realizarConexion(f):
            
def inner(*args):
                
error f(*args)
                
self.cursorCerrar()
                
self.conexionCerrar()
                return 
error                   
            
return inner
        
return _realizarConexion
.... 
y tengo una segunda clase:
Código PHP:
from dato.conexion import conexion
class tabla1(conexion):
...
    @
conexion.realizarConexion(self)
    
def insert(self, *informacion):
        for 
i in informacion:
            
conexion.conexionSentencia(self,'insert into tabla1 (informacion) VALUES (%s)',i)
        
error conexion.conexionCommit(self)
        return 
error
... 
Y me marca error en esta línea:
@conexion.realizarConexion(self)

lanza el mensaje "NameError: name 'self' is not defined"

he intentado @conexion.realizarConexion(self), funcion decoradora sin parametros, y combinaciones de estos, pero al parecer, el problema supera mis pocos conocimientos de python.

mi duda es, puedo crear un decorador en la clase padre, para así decorar funciones de la clase hija?
de momento la funcion de la clase padre nada hace, pero tendrá más código


Espero puedan ayudarme. Saludos

P.D. en resumidas cuentas, me gustaria saber como decorar una funcion de una clase

Última edición por refreegrata; 26/05/2010 a las 11:25