【发布时间】:2016-06-24 21:11:50
【问题描述】:
我想更新 python 模块中的一些父类以向所有子类添加功能。该模块通过pip安装。
如果我可以修改父类,我只是给它添加方法。但是,我不应该编辑已安装的模块。 (按照我之前的discussion)
如何在不编辑 pip 包目录中的文件的情况下向 python 包中的所有子类添加功能?
另一种方法是使用monkeypatching,但似乎太棘手了。
更新
具体情况是我想给Child1和Child2添加通用方法,但是不能编辑Parent,因为它是pip包的一个类。
class Parent:
...
class Child1(Parent):
...
class Child2(Parent):
...
【问题讨论】:
-
您是否尝试过创建另一个可以被 Child1 和 Child2 继承的父类?
标签: python inheritance metaprogramming