私は__str__(self)
を実装するPythonでクラスを作成しましたが、このクラスのインスタンスを含むリストでprintを使うと、デフォルトの出力<__main__.DSequence instance at 0x4b8c10>
が得られます。これを動作させるために実装する必要がある別の魔法の機能はありますか、カスタム印刷機能を記述する必要はありますか?ここでリスト、辞書、またはオブジェクトのコレクションをPythonで印刷する方法
クラスです:
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]
はマニュアルが可能であれば、これを再作成するために使用することができ、有効なPython式のようになるはずです」と言うものに準拠した、それは価値があります(適切な環境が与えられている)同じ値を持つオブジェクトだからDSequence(1、 'GTTAC')のようなもの? –
いい考えです。 –
また、私はこれについてqを見つけました。http://stackoverflow.com/questions/452300/python-object-reprself-should-be-an-expression ありがとうございました。 –