__setslice_和从列表派生的类
根据文档,__setslice __方法已经 自Python 2.0以来已弃用. 但是,如果我是从 内置列表类,我发现我真的不能忽略__setslice __. 看看这个片段: ------------------------------------------------------------------------------------ - - [100,77,66,12] ------------------------------------------------------------------------------------ - - 如果我分配给v [1:3],它将通过__setslice __分配,但是如果我分配给 v [1:3:1]它通过__setitem__派遣. 文档指出,如果 存在__setslice__方法将使用它,但是如果不是 现在将合成一个切片,并将使用__setitem__ 只. 由于内置列表类提供__setslice __ 方法,这意味着从列表中得出的任何类仍必须 为这种表面上贬值的方法做准备. 有一个解决方法,即包括此方法: def __setslice __(self,i,j,seq): self .__ setItem __(切片(i,j),seq) 这样,我需要在__setitem__中包含的任何自定义代码都不 在__setslice __中重复. 但是我只是出于好奇心 我会问这里的人们是否有其他方法? 也许 像没有__setslice __的" noslicelist"类之类的东西, 然后,标准列表类将成为肾上飞机的子类 使用__setslice__的方法构成兼容性. 这样我可以 我本人子类的鼻序主义者,不必担心它. dave