Я не уверен, возможно ли это, но есть ли способ, чтобы атрибуты детского обработки данных зависели от методов, вызываемых в родительском обратном данных? Причина в том, что я хочу, чтобы родительский обратный данных представил необработанные данные, а затем класс ребенка представил преобразованные данные. Затем, если необработанное обработку данных обновляется, вызываются методы из детского класса, и обновляются атрибуты для преобразованного обработки данных (и обновленный x распространяется на навсегда transformed_data .
Итак, когда я называю raw_data.update_value () , то оба Transformed_data._partition_dependents () и transformed_data._interpolate () вызываются без необходимости явного кода. p>
Я думал об использовании атрибутов класса в rawdata , но я хочу иметь возможность инициализировать различные Rawdata с несколькими различными параметрами, и все еще не уверен, как триггер Методы в TransformedData
from dataclasses import dataclass, field
import numpy as np
@dataclass
class RawData:
x: np.ndarray
y: np.ndarray
def update_values(self, x, y):
self.x = x
self.y = y
@dataclass
class TransformedData(RawData):
n_x: int
x_interp: np.ndarray = field(default_factory=lambda: np.array([]))
y_interp: np.ndarray = field(default_factory=lambda: np.array([]))
def __post_init__(self):
self._partition_dependents()
self._interpolate()
def _partition_dependents(self):
self.x_interp = np.linspace(self.x.min(), self.x.max(), self.n_x)
def _interpolate(self):
self.y_interp = np.interp(self.x_interp, self.x, self.y)
x_original = np.arange(10)
y_original = x_original ** 2
n_x = 100
raw_data = RawData(x_original, y_original)
transformed_data = TransformedData(n_x)
x_new = np.arange(20)
y_new = np.arange(20)
raw_data.update_values(x_new, y_new) # Then _partition_dependents() and _interpolate() to both trigger for transformed_data
raw_data.x[-1] == transformed_data.x[-1] # Should be true
Подробнее здесь: https://stackoverflow.com/questions/794 ... tributes-f
Как привести к наследу с детьми от родителей, где обновление атрибутов из родителей вызовов у ребенка ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение