gpt4 book ai didi

Python类继承构造函数失败: What am I doing wrong?

转载 作者:太空宇宙 更新时间:2023-11-04 07:23:51 29 4
gpt4 key购买 nike


我有一个小型 Python OOP 程序,其中 2 个类 Flan 和 Outil 继承自父类(super class) Part。
我的问题是,当我调用 Flan 时一切正常,但是当我调用 Outil 时,程序会无声地失败。
Outil 实例已创建,但它缺少所有不与 Part 共享的属性。
Outil 实例不会添加到 Outil.list_instance_outils 中,也不会添加到 Part.list_instances 中。

class Outil(Part):

list_instance_outils = []

def __init___(self, name, part_type, nodes, elems):
Part.__init__(self, name, part_type, nodes, elems)
self.vect_norm = vectnorm(self.nodes[self.elems[0,1:]-1, 1:])
self.elset = Elset(self)
self.nset = Nset(self, refpoint=True, generate=False)
self.SPOS = Ab_surface(self, self.elset)
self.SNEG = Ab_surface(self, self.elset, type_surf='SNEG')
Outil.list_instance_outils.append(self)
Part.list_instances.append(self)

class Flan(Part):

list_instances_flans = []

def __init__(self, name, part_type, nodes, elems):
Part.__init__(self, name, part_type, nodes, elems)
self.vect_norm = vectnorm(self.nodes[self.elems[0,1:4]-1, 1:])
self.elset = Elset(self)
self.nset = Nset(self)
self.SPOS = Ab_surface(self, self.elset)
self.SNEG = Ab_surface(self, self.elset, type_surf='SNEG')
Flan.list_instances_flans.append(self)
Part.list_instances.append(self)

这两个类都继承自 Part :

class Part():

list_instances = []

def __init__(self, name, part_type, nodes, elems):
self.name = name
self.name_instance = self.name + '-1'
self.part_type = part_type
self.elems = elems
self.nodes = nodes
offset = np.min(self.elems[:, 1:])-1
self.nodes[:, 0] -= offset
self.elems[:, 1:] -= offset

我怎么强调我都没有错误消息。我在这里做错了什么?

最佳答案

您在 Outil 中用三个 尾部下划线而不是两个编写了 __init__

因此,它不会被调用——Part.__init__ 被调用。这就是创建该类的原因,但它缺少 Part 中的属性。

关于Python类继承构造函数失败: What am I doing wrong?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871656/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com