0

有一些用 Python (2.x) 编写的库。它的代码不能更改。lib里面有A类。我需要修改A::method()的行为。还有很多其他类:B 类、C 类等等(它们也都属于 lib)。他们都以某种方式使用 A 类 - 无论如何。这意味着我不能继承类 A 并覆盖方法 A::method()。

据我所知 - 应该使用 Python-Decorators-technic。但具体如何?你能展示一些这样的解决方案的样本吗???

4

1 回答 1

1

你有没有尝试过:

from lib import A

def my_method(instance, *args, **kwargs):
    some_code_here()

A.method = my_method
于 2013-06-08T08:01:46.097 回答