有一些用Python(2.x)编写的库。它的代码无法更改。 lib里面有A类。我需要修改A :: method()的行为。还有很多其他类:B类,C类等(它们都属于lib)。他们都以某种方式使用A级 - 无论如何。这意味着我不能继承A类并重写方法A :: method()。
据我所知 - 应该使用Python-Decorators技术。但到底怎么样?你能展示一些这样的解决方案吗?
答案 0 :(得分:1)
你试过了吗?
from lib import A
def my_method(instance, *args, **kwargs):
some_code_here()
A.method = my_method