12
Chcę podklasy typu list
i mają krojenie zwrotu obiekt typu potomka, jednak zwraca list
. Jaki jest minimalny sposób na wykonanie kodu?Podklasa wbudowana Lista
Jeśli nie ma na to sposobu, po prostu dołączę wewnętrznie listę, która jest trochę bardziej nieporządna, ale nie nieuzasadniona.
Mój kod do tej pory:
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
Czy można użyć seattr do tego? Naiwne 'setattr (self, '__getslice__', lambda * a, ** k: whatever()' zawiedzie) - patrz http://stackoverflow.com/q/29858405/281545 –