打印出由类创建的列表对象

时间:2018-07-23 13:24:01

标签: python list class oop

我正在尝试创建一个程序,该程序以随机​​顺序生成一个范围从0到任意数字的所有数字的列表,并且每个数字仅出现一次(以便编写一些排序算法并对其进行测试此列表之后)。我试图创建一个List()类,该类将应该创建的列表的长度作为参数:

from random import randint, shuffle

class List():
    def __init__(self, length):
        self.length = length

    def create_list(self):
        list_ = [i for i in range(self.length)]

testlist = List(10)
print(testlist)

现在的问题是,此代码的输出不是列表,而是列表

<__main__.List object at 0x02DD1FF0>

有人可以告诉我为什么以及如何纠正此问题吗? 请注意,我是一个初学者,大约2周前我开始学习python,这或多或少是我第一次尝试OOP ...

1 个答案:

答案 0 :(得分:0)

您应该重写对象的__str__()方法。当您打印本质上不是“可打印”的对象时,就会调用此方法