擅长:python、mysql、java
<p>您的<code>SongData</code>类需要从<code>__str__</code>函数中<code>return</code>:</p>
<pre><code>class SongData(object):
def __init__(self, title="", artist="", directory=""):
self.title, self.artist, self.directory = title, artist, directory
def __str__(self):
desc_str = "Title: %s \nArtist: %s \nDirectory: %s \n" %(self.title,
self.artist, self.directory)
return desc_str # < RETURN HERE
</code></pre>
<p>然后,可以按如下方式构建<code>SongData</code>的实例:</p>
^{pr2}$
<p>请注意,以上是一个列表组件,给出的上述3个列表实际上相当于:</p>
<pre><code>songdata = [
SongData('song1', 'artist1', 'dir1'),
SongData('song2', 'artist2', 'dir2'),
SongData('song3', 'artist3', 'dir3')
]
</code></pre>
<p>然后循环这些,并使用<code>print</code>获得<code>__str__</code>的结果:</p>
<pre><code>for song in songdata:
print song
</code></pre>
<p>给你:</p>
<pre><code>Title: song1
Artist: artist1
Directory: dir1
Title: song2
Artist: artist2
Directory: dir2
Title: song3
Artist: artist3
Directory: dir3
</code></pre>