我正在尝试根据班级设置从列表中打印对象。
from math import *
import time
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
people = [MyClass("David",17),
MyClass("George",63),
MyClass("Zuck",12),
MyClass("Mark",18)
]
print(people[2])
但是它打印出以下内容:<< strong> main 。位于MyClass对象的0x0000000003129128> 我希望它打印“ Zuck”
答案 0 :(得分:2)
那是因为数组包含对象,因此在打印它们时,它们将作为对象表示形式打印。我意识到您想要的是打印其内容。
为此,您必须使用方法__str__
指定打印时如何显示实例:
from math import *
import time
class MyClass:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return "name: {}, age: {}".format(self.name, self.age)