擅长:python、mysql、java
<p>你当然可以有很多这样的方法。您不能全部调用它们<code>__iter__()</code>,因为Python不支持方法重载。例如,您可以这样做:</p>
<pre><code>def rows(self, col):
for row in range(self.numRows):
yield self.grid[row][col]
def cols(self, row):
for col in range(self.numCols):
yield self.grid[row][col]
def cells(self):
for row in range(self.numRows):
for col in range(self.numCols):
yield self.grid[row][col]
</code></pre>
<p>然后你会写下</p>
<pre><code>for row in grid.rows(col=0):
# Do something
</code></pre>