Преобразование класса внутри массива

Есть класс Sword, и его объект от него:sword sword = Sword('name') Но когда добавляешь элемент sword в список и пробуешь его отобразить, выдает тип объекта, а не sword. Можно ли как-нибудь сделать, чтобы когда выводишь массив, внутри объект sword был именно sword или sword.name, но сохранял все свои свойства(урон, прочность)?введите сюда описание изображения


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

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

Нужно переопределить в классе методы str и repr. Ниже пример.

class Sword:
    def __init__(self,name):
        self.name=name
    def __str__(self):
        return "Sword name= "+self.name
    def __repr__(self):
       return self.name

sw1=Sword("Mielnier")
sw2=Sword("Exalibur")
print(sw1)
print(sw2)
mass=[sw1,sw2]
print(mass)
→ Ссылка