У меня есть класс myclass
, который по сути является списком data
, который представляет время + методы методов для работы с этим списком. Я хотел бы иметь возможность поддерживать операции numpy в стиле data
.
Поэтому я подумал о перегрузке оператора __getitem__
следующим образом:
def __getitem__(self,i):
import numpy as np
return np.array(self.data)[i]
Это для В примере очень легко справиться с изменением нулевого времени data
на первый элемент с помощью:
x = myclass()
print(x[:] - x[0])
Тем не менее, мне это кажется неясным.
Мне интересно: это достаточно приличная практика? Новый дизайн OOP и OOP.
Заранее спасибо.