このクラスの関数で作成されたリストを印刷しようとしていますが、何を修正する必要がありますか?私は[<__main__.Person instance at 0x1004a0320>,
の行に沿って端末から出力を得ています。クラス内の関数のPythonリスト
class Person:
def __init__(self,first,last,id,email):
self.firstName=first
self.lastName=last
self.id=id
self.email=email
self.friends=[]
def add_friend(self,friend):
if len(self.friends)<5:
self.friends.append(friend)
if len(friend.friends)<5:
friend.friends.append(self)
p1=Person("David","Waver","922-43-9873","[email protected]")
p2=Person("Bob","Jones","902-38-9973","[email protected]")
p3=Person("James","Smith","302-38-9103","[email protected]")
p4=Person("Tim","Jack","902-38-0918","[email protected]")
p5=Person("Jim","Johnston","314-78-2343","[email protected]")
p6=Person("Gina","Relent","102-38-1064","[email protected]")
p7=Person("Greg","Morris","932-38-4473","[email protected]")
p1.add_friend(p2)
p1.add_friend(p3)
p1.add_friend(p4)
p1.add_friend(p5)
p1.add_friend(p6)
p1.add_friend(p7)
print p1.friends
人物や名前(またはその他の詳細)を印刷しようとしていますか? –
私はクラスについて学び始めました。いろいろな 'person'インスタンスの属性を' friends'リストに入れることがここの目標でした。どうしたのかは本当に私が心配していることではありません。 – ZCJ
実際には友達リストに人物オブジェクトを追加しています。したがって、リストを印刷しようとすると、 ''のリストがシェルに表示されます。 personオブジェクトの属性を出力するには、personクラスで '__repr__'または' __str__'を定義する必要があります。詳細については、senderleの答えを参照してください。 –