__str__ и список

У меня есть класс:

class MyClass():
    def __init__(self, n):
        self.n = n
    
    def __str__(self):
        return str(self.n)

и список arr, в котором лежат экземпляры класса:

arr = [MyClass(0), MyClass(1)]

как сделать так чтобы при print(arr) выводилось:

['0', '1']

а не:

[<__main__.MyClass object at 0xebeb3dc0>, <__main__.MyClass object at 0xebdcb580>]

полный код:

class MyClass():
    def __init__(self, n):
        self.n = n
    
    def __str__(self):
        return str(self.n)

arr = [MyClass(0), MyClass(1)]

print(arr)

Ответы (1 шт):

Автор решения: CrazyElf

Добавьте реализацию специального метода __repr__:

def __repr__(self):
    return str(self.n)
→ Ссылка