我尝试创建一个对象树而不是类。我的意思是我不想在原型级别中创建对象之间的关系,但是在实例级别中,因此对象之间的关系将通过代码来解决。
我在这里写了一些东西
class human :
def __init__ (self,Name,Surname,Gender,Age,Father,Mother) :
self.Name = Name
self.Surname = Surname
self.Gender = Gender
self.Age = Age
self.Father = Father
self.Mother = Mother
class family :
def __init__ (self,Surname,Members) :
self.Surname = Surname
self.Members = Members
def ListMembers (self) :
for member in self.Members :
print (self.Surname +' family member ' +member.Name + ' '+ member.Surname + ' is ' + member.Age + " years old ")
human1 = human( 'Mary','Walter','Female','42','Jason White','Sally White')
human2 = human('Charles', 'Walter', 'Male', '45', 'Samuel Ribbon', 'Angie Ribbon')
human3 = human('Claire', 'White', 'Female', '16', 'Charles Walter', 'Mary Walter')
WalterFamily = family('Walter',(human1,human2,human3))
WalterFamily.ListMembers
当我运行此代码时,WalterFamily.ListMembers不会打印任何内容。
在另一个对象中嵌套对象的确切方法是什么? 就像我试图在这里做的那样:将3个人嵌入一个家庭中,并达到这些物体的属性..
答案 0 :(得分:1)
最后一行代码不是你想要的。属于某个类的所有函数(如ListMembers
函数)都是存储在变量名中的函数。
当你拥有目前拥有的东西时:
WalterFamily.ListMembers
您只打印存储在ListMembers
变量中的函数对象。要实际调用它,您需要添加括号。
WalterFamily.ListMembers()
答案 1 :(得分:1)
在Python中,一切都是对象,包括函数。所以WalterFamily.ListMembers
只是对象的引用。要调用您需要的功能WalterFamily.ListMembers()