Si estoy usando un módulo/clase tengo ningún control sobre, ¿cómo iba a decorar uno de los métodos?¿Cómo puedo agregar un decorador a un método de objeto existente?
Entiendo que puedo: my_decorate_method(target_method)()
pero estoy buscando que esto suceda donde se llame a target_method
sin tener que buscar/reemplazar.
¿Es posible?
Esa era la forma original que miraba el problema, pero que era mucho trabajo. El método en la respuesta aceptada es útil para saber, incluso si no es la manera más correcta de hacer las cosas. –
No es una cuestión de "más correcto" tanto como una cuestión de "leer" y "mantenible". Su caso de uso es la razón * exacta * por la que los lenguajes OO tienen herencia. Puede parecer mucho trabajo, pero es lo que todos los demás programadores esperan ver. A la larga, los divertidos decoradores dinámicos son una responsabilidad. La vieja herencia simple no se convertirá en una responsabilidad. –