我有上课的经验,但在这里我有些困惑。问题是它说在类对象中也存储了该类其他对象的引用。我把下面写的代码。请指导我如何解决该问题?This is the image of question
class Person:
friends=list()
def __init__(self, first_name, last_name):
self.first_name=first_name
self.last_name=last_name
def add_friend(self, friend_person):
self.friends.append(friend_person)
def get_name(self):
name=self.first_name+' '+self.last_name
return name
def get_friends(self):
return self.friends
朋友属于一个人,因此应该是该人实例的属性而不是类。
建议以下内容开始
class Person:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
self.friends = [] # person can have a list of friends
def add_friend(self, friend):
" Add a friend for this person "
self.friends.append(friend)
def get_name(self):
return self.first_name + " " + self.last_name
def get_friends(self):
" List of friends as a string "
return self.friends
def __str__(self):
""" Converts attributes of person to string
(useful for print) """
return self.get_name()