在 python 中将对象声明为另一个对象的属性
Declare objects as an attribute of another object in python
我尝试创建一个对象树/而不是类。我的意思是我不想在原型级别创建对象之间的关系,而是在实例级别创建对象之间的关系,因此对象之间的关系将通过代码解决。
这里写了点东西
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 个人嵌套在一个家庭中,并接触到这些对象的属性..
最后一行代码不是你想要的。所有属于 class 的函数(比如你的 ListMembers
函数)都是存储在变量名中的函数。
当您拥有当前拥有的东西时:
WalterFamily.ListMembers
您只打印存储在 ListMembers
变量中的函数对象。要实际调用它,您需要添加括号。
WalterFamily.ListMembers()
在Python中一切皆对象,包括函数。所以 WalterFamily.ListMembers
只是对对象的引用。要调用您需要的函数 WalterFamily.ListMembers()
我尝试创建一个对象树/而不是类。我的意思是我不想在原型级别创建对象之间的关系,而是在实例级别创建对象之间的关系,因此对象之间的关系将通过代码解决。
这里写了点东西
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 个人嵌套在一个家庭中,并接触到这些对象的属性..
最后一行代码不是你想要的。所有属于 class 的函数(比如你的 ListMembers
函数)都是存储在变量名中的函数。
当您拥有当前拥有的东西时:
WalterFamily.ListMembers
您只打印存储在 ListMembers
变量中的函数对象。要实际调用它,您需要添加括号。
WalterFamily.ListMembers()
在Python中一切皆对象,包括函数。所以 WalterFamily.ListMembers
只是对对象的引用。要调用您需要的函数 WalterFamily.ListMembers()