Índice de contenido
Esto genera la salida: 29.8.2 Métodos con parámetros Al igual que con las funciones, los métodos que toman parámetros además de los propios también pueden ser decorado. En este caso, la función devuelta por el decorador debe tomar no solo el autoparámetro sino también cualquier parámetro pasado al método. Por ejemplo: Ahora este decorador de trazas define una función interna que toma el parámetro self y dos parámetros adicionales. Se puede usar con cualquier método que también tome dos parámetros como el método move_to() a continuación: imprimir(‘Iniciando’) p = Persona(‘Juan’, ‘Smith’, 21) p.print_self() imprimir (p.get_fullname()) imprimir(‘Terminado’) A partir de Persona - Juan , 21
Juan Smith
Hecho def rastrear (método): def method_wrapper(self, x, y): print('Llamando', método, 'con', x, y) método(yo, x, y) imprimir ('Llamado', método, 'con', x, y) devolver método_envoltura punto de clase: def __init__(self, x, y): self.x = x self.y = y @rastro def move_to(self, x, y): self.x = x self.y = y def __str__(uno mismo): return 'Punto - ' + str(self.x) + ',' + str(self.y) 344 29 Decoradores