Lista de subclases incorporadas

Quiero subclasificar el tipo de list y hacer que la segmentación devuelva un objeto del tipo descendiente, sin embargo, está devolviendo una list . ¿Cuál es la forma de código mínima para hacer esto?

Si no hay una forma clara de hacerlo, solo incluiré una lista interna que es un poco más desordenada, pero no irrazonable.

Mi código hasta ahora:

 class Channel(list): sample_rate = 0 def __init__(self, sample_rate, label=u"", data=[]): list.__init__(self,data) self.sample_rate = sample_rate self.label = label @property def nyquist_rate(self): return float(self.sample_rate) / 2.0 

Supongo que debería anular el método __getslice__ para devolver un objeto de su tipo …

Tal vez algo como lo siguiente?

 class MyList(list): #your stuff here def __getslice__(self, i, j): return MyList(list.__getslice__(self, i, j))