Как расширить / подкласс numpy .. Я смотрю на документы, но некоторые вещи все еще неясны.
Я хочу создать класс, который расширяет массив numpy и имеет следующие свойства:
- Действовать как numpy массив
- Добавить дополнительные атрибуты объекта
- Переопределить + и * ops, но добавить вызовы методов, которые позволяют мне получить доступ к оригинальные возможности
как я могу обновить массив внутри метода. Fe
class MyNP:
def __init__(self, val, a1):
self.attr1 = a1
self = val #update/assign val
def __add__(self,right): ....
def add(self,right): super....
это не сработает, потому что оно перезапишет себя и станет numpy вместо MyNP.
Переопределить
repr , просто определив его, будет работать, верно?
метод copy (). В настоящее время я делаю это так:
def copy(self): return type(self)(vsize=self.vsize, vsn=self.bits)
Как заставить ops, такие как np.sort (), np.concatenate (), np.unique (), возвращать MyNP, когда они имеют Операнды MyNP?