如何在同一个类中存储该类其他对象的引用?

问题描述 投票:0回答:1

我有上课的经验,但在这里我有些困惑。问题是它说在类对象中也存储了该类其他对象的引用。我把下面写的代码。请指导我如何解决该问题?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
python class oop object object-reference
1个回答
0
投票

朋友属于一个人,因此应该是该人实例的属性而不是类。

建议以下内容开始

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()
© www.soinside.com 2019 - 2024. All rights reserved.