我试图从另一个类的实例创建一个类的实例。 所以我写了一些简单的东西,看它是如何工作的。 这个方法有效且有用,看起来它在这个例子中工作正常吗?或者它会产生问题,还是会使进一步的步骤变得更难?
import random
class family(object):
def __init__(self,surname,numofmem,location):
self.surname=surname
self.numofmem=numofmem
self.location=location
self.relatives=[]
self.rel2=None
self.CreateMembers()
def CreateMembers(self):
for mem in range(0,self.numofmem):
self.relatives.append(CreateAMember())
def listMembers(self):
for mem in self.relatives:
print (mem.name+" "+self.surname+" lives in "+self.location)
class CreateAMember(object):
listnames=["Aaron","Abbey","Abbie","Abby","Abdul","Abe","Abel","Abigail","Abraham"]
def __init__(self):
self.rnd=random.randint(0,len(self.listnames)-1)
self.name=self.listnames[self.rnd]
myFamily=family("Reactor",5,"Canada")
myFamily.listMembers()
答案 0 :(得分:0)
乍一看,我发现您的代码没有任何问题。 Python几乎可以通过引用解决所有问题,因此将对象存储在其他对象中并不一定会给你的内存带来问题,如果这就是你所要求的。例如。以下代码也完全合法:
class bla():
def __init__(self):
self.reference_to_self = self
您预期会出现什么样的问题?