擅长:python、mysql、java
<p>使用<code>returns</code>和<code>errors</code>作为类变量似乎不是一个好主意。每个变量只有一个实例,不管您创建了多少个<code>Nollty</code>实例。相反,请执行以下操作:</p>
<pre><code>def __init__(self, filename, database):
self.returns = 0
self.errors = 0
# rest of __init__
</code></pre>
<p>接下来,使用<code>returns</code>来表示返回值似乎也不是一个好主意。在Python中,通常会引发<em>异常</em>来指示构造函数中的问题。这样,调用者就不能因为忘记检查<code>returns</code>而简单地忽略问题。</p>
<p>类似地,使用<code>select()</code>中的异常来指示参数有问题。我的建议是<em>同时消除<code>returns</code>和<code>errors</code>。</p>
<p>您也不会从<code>select</code>返回任何值,所以<code>query</code>最终成为<code>None</code>(在Python中,<code>None</code>是一个特殊值)。您要么希望从<code>select()</code>返回有用的内容,要么不将其结果赋给任何不返回有用值的内容。</p>