从列表python错误打印__init__对象

Printing __init__ object from list Python error

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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])

但它打印出以下内容:我想把它印成"zuck"


这是因为您的数组包含对象,所以当您打印它们时,它们将作为对象表示进行打印。我知道你想要的是打印它的内容。

为此,必须使用__str__方法指定打印时如何呈现实例:

1
2
3
4
5
6
7
8
9
10
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)