Python方法对类属性进行操作,该属性在类方法中动态指定

2024-03-29 04:45:49 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,如果这是重复-不知道如何词我试图完成。你知道吗

我在这里有两类兴趣(简而言之):

class Patient:
    ...
    self.weight = (some float)
    self.medicationDays = (some float)
    self.AverageWeightChange = (some float)
    etc.

class PtAnalyzer:
    ...
    self.ptList1 = [listOfPatients]
    self.ptList2 = [anotherListOfPatients]

    def getSummaryStats(self,ptList,metric):
        list = [patient.metric for patient in ptList]
        self.getStats(list)
        return list

    def sendForStats(self):
        weightStats = self.getSummaryStats(self.ptList1, metric = weight)
        avgWeightStats = self.getSummaryStats(self.ptList1, metric = AverageWtChange)
        ...

所以程序收集了一堆病人实例,然后把它们传递给PtAnalyzer,PtAnalyzer有一个属性——一个保存病人实例的列表。因为我正在分析的大多数患者指标都是简单的浮动,所以我可以以标准方式对它们运行统计,尽管我需要首先将指标转换为列表(对于stats函数)。你知道吗

我的问题是:如何告诉getSummaryStats函数使用哪个度量?我试着不为每个度量编写单独的函数-似乎不节省。你知道吗

(这实际上是在Jython2.5.2环境中运行的,因为它需要JDBC,尽管我没有使用其他Jython规范的功能)


Tags: 函数selfdefsomefloatmetriclistclass