我剛剛開始使用 OOP,所以如果我的問題與 2 2 一樣明顯,我提前道歉。:)
基本上,我創建了一個將屬性和方法添加到熊貓資料框的類。那是因為我有時希望執行復雜但重復的任務,例如與一堆其他表合并、洗掉重復項等。所以能夠使用預定義的方法一次性完成這些任務是令人愉快的。例如,我可以像這樣創建一個物件:
mysupertable = MySupperTable(original_dataframe)
然后做:
mysupertable.complex_operation()
其中 original_dataframe 是被定義為類屬性的原始熊貓資料框(或物件)。現在,這一切都很好,但是如果我想列印(或只是訪問)那個原始資料框,我必須做類似的事情
print(mysupertable.original_dataframe)
有沒有辦法“默認”發生這種情況,所以如果我這樣做:
print(mysupertable)
它會列印原始資料幀,而不是記憶體位置?
我知道可以在一個類中實作str和rep方法,它們回傳物件的默認字串表示形式。我只是想知道是否有類似的魔術方法(或其他)來默認顯示特定屬性。我試著查了一下,但我想我找不到合適的詞來描述我想做的事情,因為我似乎無法找到答案。
謝謝!干杯
uj5u.com熱心網友回復:
在你的MySupperTable課堂上,做:
class MySupperTable:
# ... other stuff in the class
def __str__(self) -> str:
return str(self.original_dataframe)
這將使得當 aMySupperTable轉換為 astr時,它會將其轉換original_dataframe為 astr并回傳它。
uj5u.com熱心網友回復:
當您將物件傳遞給print()它時,它將列印物件的字串表示形式,在后臺通過呼叫object.__str__(). 您可以像定義任何其他方法一樣對該方法進行自定義定義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/532199.html
標籤:Python班级哎呀方法
上一篇:C#創建一個類元素串列以多次使用
下一篇:SwiftUI類初始化錯誤
