擅长:python、mysql、java
<p><code>return True</code>很好。我认为更大的问题是使用<code>assert</code>进行流控制。如果用户在命令行上将<code>-O</code>传递给<code>python</code>,则断言根本不运行。你应该写更多这样的东西:</p>
<pre><code>for slot in self.__slots__:
if not hasattr(other, slot) or getattr(self, slot) != getattr(other,slot):
return False
return True
</code></pre>
<p>另外,<code>__slots__</code>需要在类级别定义才能工作,而不是在<code>__init__</code>内部定义:</p>
^{pr2}$
<p>如果项目数可变,则可能根本不应该使用<code>__slots__</code>。在</p>