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

Python—对类属性进行操作的方法,其中该属性在类方法中动态指定,python,jython,Python,Jython,道歉,如果这是重复-不知道如何字我试图实现 我在这里有两类兴趣(简而言之): 因此,该程序收集了一组患者实例,然后将它们传递给pAnalyzer,pAnalyzer具有一个属性—一个保存患者实例的列表。由于我正在分析的大多数患者指标都是简单的浮动,我可以以标准方式对其运行统计数据,不过我需要先将这些指标转换为列表(对于stats函数). 我的问题:如何告诉getSummaryStats函数使用哪个度量?我试图不为每个度量编写单独的函数——这似乎不节约 (这实际上是在Jython 2.5.2环境

道歉,如果这是重复-不知道如何字我试图实现

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

因此,该程序收集了一组患者实例,然后将它们传递给pAnalyzer,pAnalyzer具有一个属性—一个保存患者实例的列表。由于我正在分析的大多数患者指标都是简单的浮动,我可以以标准方式对其运行统计数据,不过我需要先将这些指标转换为列表(对于stats函数).

我的问题:如何告诉getSummaryStats函数使用哪个度量?我试图不为每个度量编写单独的函数——这似乎不节约


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

您想要的;传递要用作字符串的度量。

您需要;传递度量值以用作字符串。

genious!非常感谢你。鉴于答案如此简单;我是否应该删除这个问题(假设这是一个经常问的问题);如果一个问题真的是重复的,那么有人会把它标记为重复的!非常感谢你。鉴于答案如此简单;我是否应该删除这个问题(假设这是一个经常问的问题);如果一个问题真的是重复的,那么有人会这样做。如果你的问题得到了回答,请这样做。单击“复选标记”。谢谢哎呀。在答案上加了标记,但没有意识到我没有单击复选框。如果您的问题得到了回答,请按此标记。单击“复选标记”。谢谢哎呀。我在答案上打了记号,但没意识到我没有点击复选框。
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)
        ...