Python:如何解决此类继承

卢卡酮

我有以下课程:

class A:
    def __init__(self,x):
        self.x = x
        self.xp = self.preprocess(x)

    def preprocess(self,x):
        return(x**2)

class B(A):
    def __init__(self,x,y):
       A.__init__(self,x)
       self.y = y

    def results():
       return(self.xp + self.y)

在此玩具示例中,A用于读取一些数据(x)并对其进行预处理(xp)。

B进一步读取一些数据(y),并使用来自的预处理数据产生结果A

现在我需要创建一个类CC具有与完全相同的区别B,因此我很想简单地将其定义为:

class C(B):
    pass

但是,我需要重写该A.preprocess()方法,以便在C构造时使用正确的预处理有没有简单而直接的方法来做到这一点?

马丁·彼得斯(Martijn Pieters)

是的,只需在上定义一个新preprocess方法C

class C(B):
    def preprocess(self, x):
        return x + x

A.__init__()方法将在用调用时在定义方法上找到方法Atype(self) is C

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中进行此类继承?

如何解决无法加载此类文件openssl错误?

如何解决此类型不匹配错误?

使用xargs时如何解决此类文件或目录

如何解决此“无此类文件或目录”挂钩错误?

引导生活编码问题 - 如何解决此类问题

如何解决python keyerror

如何解决多次继承的模糊变量名称?

如何解决由继承和嵌套类引起的冗余?

如何解决C ++中的多个继承歧义

引用如何解决多重继承中的歧义?

如何解决Scala中冲突成员的继承

LOKI C ++:'ScatterHierarchyTag'如何解决继承歧义?

我该如何解决锈的继承问题?

如何解决“ .git / index.lock”:没有此类文件或目录的错误?

是什么原因导致此类Firefox渲染错误?以及如何解决这个问题

如何解决错误:此类不适用于键tableView的键值编码兼容。

我该如何解决此类的“可能的从双精度有损转换为整数”的问题?

如何解决LoadError:无法加载此类文件-ffi_c

无法加载此类文件-2.2 / gherkin_lexer_en,如何解决?

尝试启动VMware Horizon View Client时如何解决“无此类文件或目录”错误

如何解决此类型错误:只有整数标量数组可以转换为标量索引

加载MNIST数据集时如何解决“无此类文件或目录”错误

我该如何解决:“此类不符合键值图像的键值编码标准”?

如何解决此类com.google.android.gms.internal.zzaja未找到

如何解决此致命错误:numpy / arrayobject.h:没有此类文件或目录?

如何解决此错误?(此类型必须是数组类型,但解析为字符串)

如何解决此类型错误:无法读取未定义的属性“id”

如何解决python中的拆分问题?