【发布时间】:2021-09-21 21:13:53
【问题描述】:
我想知道这样的事情在 Python 中是否可行。假设在一个库中,有一个类X 定义了方法a、b 和c:
class X:
def a(self):
...
def b(self):
...
def c(self):
...
我想在类X 中添加一个方法custom(这样我就可以调用X().custom())而不修改库代码。
我知道我可以做类似的事情
def custom(self):
...
X.custom = custom
但是这样做看起来不太好。
有没有更智能的方法来实现我想要的(例如类似于 impl 上的 Rust 结构)?
【问题讨论】:
-
为什么不子类化它并在那里添加方法?
-
你可以继承它。
-
没错,我可能只是过度劳累了。谢谢!