从列表Python错误中打印__init__对象

时间:2019-01-18 20:37:07

标签: python

我正在尝试根据班级设置从列表中打印对象。

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”

1 个答案:

答案 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)