我正在尝试创建一个程序,该程序以随机顺序生成一个范围从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 ...
答案 0 :(得分:0)
您应该重写对象的__str__()
方法。当您打印本质上不是“可打印”的对象时,就会调用此方法