我敢肯定,可能有一個簡單的解決方案,但無論如何,問題是這樣的:我有兩個類,說A
和B
,它們都具有數據框類似的屬性 - 這些屬性是數據框類的實例,稱之爲C
,它有自己的方法。我想定義一個類似'interface like'的類D
,它具有可以對這些屬性進行操作的方法(即對屬性爲A
和B
的數據幀進行操作)。Python - 繼承類方法來操作類屬性
編輯爲清楚起見:在下面接下來,讓a
和b
從C
類dataframes(即實例)。所以C
的方法可用於a
和b
。
更加明確:假設a
是A
的數據框類屬性,其屬性爲Series1
,...,Seriesn
。由於a
與數據幀相似,我可以撥打 a.Series1, a.Series2, ...
等來訪問Series1
,Series2
的內容a
。當然a
是A
的一個屬性,所以我實際上打電話A.a.Series1
, A.a.Series2
..等,a
有自己的方法從類C
所以我可以撥打A.a.Series1.methodfromclassC()
沒有問題。無論如何。現在假設我想以一致的方式對a.Seriesj
或b.Seriesj
的內容進行轉換,作爲類D
中的方法實現,A
和B
都可以訪問。這個想法是,我想能夠呼叫A
類的成員,如下所示:A.a.Seriesj.transformseries()
。我遇到的問題是Seriesj
有其自己的方法(繼承自類C
)和transformseries()
不是其中之一。
這可能似乎有點令人費解,但想法是,最終我可以給D
各種方法改變數據框的狀態鏈的多個呼叫屬性:A.a.Series2.transform1().transform2().transformj()
或B.b.Seriesj.transform6().transform3()
等,使A.a
和B.b
最後表示是我想要的形式。
這個解釋對我來說並不清楚。關於最後的句子,我認爲這足以讓「自我」獲得這種東西。 – Bakuriu 2013-04-22 15:03:54
你在這裏失去了我:如果'a'從'C'繼承,並不一定遵循'a.Series1'繼承自'C'。你認爲它應該,還是解釋失蹤的一部分? – kojiro 2013-04-22 15:07:51
小二郎:對不起,對'a'繼承自C,'a.Series1'繼承於C。爲了清晰起見,我將編輯帖子。謝謝 – optional 2013-04-22 15:09:52