我目前正在使用决策树,我想向内置的python类sklearn.tree._tree.Tree
中添加一些方法,例如,一种方法可以计算两个样本的公共节点数。
假设我们有A
类,它是内置的python类。我有对象a
。我想将方法添加到对象a
,所以我创建了一个类B
,该类继承自A
。但是,然后,我想使用 b
来初始化a
,而不要引用__init__
的{{1}}方法。
我看到我所寻找的主要是两种解决方案:
我也看到了或多或少复杂的解决方案,它们复制了对象的字典,或者改变了主类的A
属性。
当然,我可以简单地定义一个新类__class__
,该类将B
作为属性。但是我不认为将来的支持会令人满意吗?尽管如此,我已经搜索了很长时间,并且很好奇我的问题是否有很好的python解决方案。
a
如果这根本不可能,我将很高兴知道为什么。在那种情况下,我最终会得到类似的东西;
type(a) # class A
class B(A):
def __init__(self, a:A):
# Making my b object having the attribute of a
def new_method():
...
b.attribute_of_A # Should work
b.new_method() # Should work too