Как сделать Python классы для независимых метрик и зависимых метрик? - PullRequest
1 голос
/ 10 ноября 2019

У меня есть некоторые метрики, которые нужно превратить в классы.

  • Каждая метрика имеет name (строка), unit (строка) и value (серия значений)
  • Некоторые метрики зависят и рассчитываютсяоснованы на других метриках и должны также иметь названия этих метрик для последующего использования.

Итак, в коде мы имеем что-то вроде этого:

# normal metrics 
metric_1 = series_1
metric_2 = series_2
metric_3 = series_3

# calculated metrics
# each needs to know the names of other metrics it uses to calculate 
metric_4 = metric_1 + metric_2
metric_5 = metric_2 - metric_3 * 100
metric_6 = metric_1 + metric_2 + metric_3

Я пытаюсь создать класс Metric() для независимых метрик и подкласс CalMetric() для этих зависимых метрик. ,Но проблема в metric_4, metric_5, metric_6, ... и все другие рассчитываются по-разному. Как я могу структурировать этот код в классы?

1 Ответ

1 голос
/ 11 ноября 2019

Каждая составная метрика может быть в своем собственном подклассе, для каждого подкласса используется метод compute:

class Metric4(Metric):

    def __init__(self, metric_1, metric2):
        self.metric_1 = metric_1
        self.metric_2 = metric_2

    def compute(self):
        return self.metric_1 + self.metric_2
...