2016-07-27 71 views
0

我需要模擬家庭,父母,子女和普通人的實體。我怎樣才能做到這一點?顯然,我可以創建4個甚至5個不同的分類:家庭,父母雙方,孩子一個,人一個。 但我認爲這種方法存在冗餘。另一方面,如果我介紹一個「家庭」類型的家庭,母親等......,那麼我也必須爲家庭和其他東西創建可爲空的字段引用。如何建模「家庭和其他」事物?

您的建議?

+0

無類的成員。單身'FamilMember'命名爲tumple,那就是 – Elazar

+1

這非常取決於你打算如何處理它,母親和父親有不同的角色(和方法)嗎?一個家庭可以沒有父母嗎?只有1個? –

回答

2

在這種情況下,我認爲這將是有意義的只是有兩個類,例如

class Person: 
    def __init__(self, name): 
     self.name = name 

class Family: 
    def __init__(self): 
     self.children = [] 
     self.parents = [] 

然後Family.childrenFamily.parents可能是Person對象,在那裏你可以有任意數量的子女或父母的名單。

你也可以多一些屬性添加到Person如果你想存儲的關係,就像一個Person可以有自己的.siblings.parents.children

+0

'self.spouse'呢? – TerraPass

+0

這也是一個很好的建議。 – CoryKramer

+0

如果模型的複雜性保證,您也可以爲不同類型的家庭成員劃分「Person」。 – chepner