擅长:python、mysql、java
<p>在不知道对象长度的情况下,有一个明显的技巧可以绕过这个强制参数。例如,无限序列的<strong>getitem</strong>可以如下所示:</p>
<pre><code> def __getitem__( self, key ) :
if isinstance( key, slice ) :
m = max(key.start, key.stop)
return [self[ii] for ii in xrange(*key.indices(m+1))]
elif isinstance( key, int ) :
#Handle int indices
</code></pre>
<p>它只会失败,如果你不给启动和停止,但没有检查,这也可以处理。在</p>