Ich habe ein kleines Python-OOP-Programm, in dem 2 Klassen, Flan und Outil von einem Oberklasse-Teil erben.
Mein Problem ist, wenn ich Flan
anrufen funktioniert alles perfekt, aber wenn ich Outil
aufrufen, schlägt das Programm still.
Die Outil
Instanz wird erstellt, aber es fehlen alle Attribute, die sie nicht mit Part
teilt.
Die Outil
Instanz wird nicht zu Outil.list_instance_outils
, noch zu Part.list_instances
hinzugefügt.Python Klassenvererbung Konstruktor fehlgeschlagen: Was mache ich falsch?
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)
Sowohl diese erben Klassen aus Teil:
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
Ich kann nicht genug betonen, dass ich überhaupt keine Fehlermeldung haben. Was mache ich hier falsch?
Können Sie Ihren Code richtig einrücken? – grifaton
Ja sorry Kopieren einfügen fehlgeschlagen. –
OMFG! Ich fand mein Problem ... in Klasse Outil Ich schrieb __init___ anstelle von __init__ (wenn Sie es sehen ... 3 Stunden ..) –