擅长:python、mysql、java
<p><code>return</code>语句立即返回给定的表达式,因此退出函数。因此,这样的事情不会产生预期的效果:</p>
<pre><code>def __str__(self):
for i in self.cards:
return (f"{i}")
</code></pre>
<p><code>__str__</code>方法需要返回单个字符串。例如,如果您想返回一个卡片字符串,所有卡片都在自己的行中,您可以先创建该字符串,然后返回它:</p>
<pre><code>def __str__(self):
return_value = ""
for card in self.cards:
return_value += card + "\n"
</code></pre>
<p>或者用一个单一的、惯用的表达加入卡片<code>str.join</code>将给定的iterable字符串与给定的字符串连接起来(在本例中,是换行符:<code>\n</code>):</p>
<pre><code>def __str__(self):
return "\n".join(self.cards)
</code></pre>