Я написал класс в python, который реализует __str__(self)
, но когда я использую print в списке, содержащем экземпляры этого класса, я просто получаю вывод по умолчанию <__main__.DSequence instance at 0x4b8c10>
. Есть ли еще одна магическая функция, которую мне нужно реализовать, чтобы заставить ее работать, или мне нужно написать собственную функцию печати?
Здесь класс:
class DSequence:
def __init__(self, sid, seq):
"""Sequence object for a dummy dna string"""
self.sid = sid
self.seq = seq
def __iter__(self):
return self
def __str__(self):
return '[' + str(self.sid) + '] -> [' + str(self.seq) + ']'
def next(self):
if self.index == 0:
raise StopIteration
self.index = self.index - 1
return self.seq[self.index]