我有一個小的Python OOP程序,其中2類Flan和Outil從超類部分繼承。
我的問題是當我打電話Flan
一切正常,但是當我打電話Outil
程序失敗默默。
Outil
實例已創建,但缺少它不與Part
共享的所有屬性。
Outil
實例未添加到Outil.list_instance_outils
或Part.list_instances
。Python類的繼承構造函數失敗:我做錯了什麼?
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)
這兩者從類繼承部分:
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
我不能強調不夠,我有沒有錯誤信息任何責任。 我在這裏做錯了什麼?
請你可以縮進你的代碼嗎? – grifaton 2012-03-26 12:07:31
是的抱歉複製粘貼失敗。 OMGG! – 2012-03-26 12:11:31
OMFG!我發現我的問題...在類Outil 我寫了__init___而不是__init__ (當你看到它... 3小時..) – 2012-03-26 12:14:33