如何修改类的方法行为? Python,类属于无法更改的库

时间:2013-06-08 07:52:16

标签: python-2.7 python-decorators

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

据我所知 - 应该使用Python-Decorators技术。但到底怎么样?你能展示一些这样的解决方案吗?

1 个答案:

答案 0 :(得分:1)

你试过了吗?

from lib import A

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

A.method = my_method