簡體   English   中英

Python - 對 class 屬性進行操作的方法,其中該屬性在 class 方法中動態指定

[英]Python - Method to operate on a class attribute, where the attribute is dynamically specified in a class method

如果這是重復的,請道歉 - 不知道如何表達我想要完成的事情。

我在這里有兩個感興趣的課程(簡而言之):

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 - 一個保存患者實例的列表。 由於我正在分析的大多數患者指標都是簡單的浮點數,因此我可以以標准方式對它們運行統計信息,但我需要先將指標轉換為列表(用於統計功能)。

我的問題:如何告訴 getSummaryStats function 使用哪個指標? 我試圖不為每個指標編寫單獨的函數 - 似乎並不簡約。

(這實際上是在 Jython 2.5.2 環境中運行的,因為它需要 JDBC,盡管我沒有使用其他 Jython 規范功能)

你想要getattr() 傳遞度量以用作字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM