<p>我试图创建一个列表,它象征一个平铺的房间,并且每个元素都被初始化为False。下面是我的初始化,我在最后添加了一个打印循环,这样我可以确保它工作。你知道吗</p>
<pre><code>class Room(object):
def __init__(self,width,height):
#create a room of size width x height populated with False
room = [[False for i in range(width)] for j in range(height)]
#print statement to verify it worked
for row in room: print row
</code></pre>
<p>这产生了一个很好的矩阵,看起来像一个瓷砖房间。然后我尝试编写一个<code>__str__</code>方法,以相同的格式输出对象。你知道吗</p>
<pre><code>def __str__(self):
for row in self:
print row
</code></pre>
<p>我想要这个,这样我可以检查矩阵,因为我正在操纵它,但当我试图这样做</p>
<pre><code>print object
</code></pre>
<p>我总是</p>
<pre><code>TypeError: 'Room' object is not iterable
</code></pre>
<p>为什么这在<code>__init__</code>中有效而在<code>__str__</code>方法中无效?我仍然在绕着我的头。你知道吗</p>