Ber*_*989 1 python oop methods class
我刚刚开始接触 OOP,所以如果我的问题像 2+2 一样明显,我提前道歉。:)
基本上,我创建了一个类,将属性和方法添加到 panda 数据框架。这是因为我有时希望执行复杂但重复的任务,例如与一堆其他表合并、删除重复项等。因此,能够使用预定义的方法一次性完成这些任务是令人愉快的。例如,我可以创建一个像这样的对象:
mysupertable = MySupperTable(original_dataframe)
Run Code Online (Sandbox Code Playgroud)
然后执行以下操作:
mysupertable.complex_operation()
Run Code Online (Sandbox Code Playgroud)
其中,original_dataframe 是定义为类的属性的原始 panda 数据框(或对象)。现在,这一切都很好,但是如果我想打印(或只是访问)原始数据框,我必须做类似的事情
print(mysupertable.original_dataframe)
Run Code Online (Sandbox Code Playgroud)
有没有办法让这种情况“默认”发生,所以如果我这样做:
print(mysupertable)
Run Code Online (Sandbox Code Playgroud)
它会打印原始数据帧,而不是内存位置?
我知道可以在类中实现str和rep方法,它们返回对象的默认字符串表示形式。我只是想知道是否有类似的魔术方法(或其他)来默认显示特定属性。我尝试查找此内容,但我认为我找不到合适的词语来描述我想做的事情,因为我似乎无法找到答案。
谢谢你!干杯
在你的MySupperTable课堂上,做:
class MySupperTable:
# ... other stuff in the class
def __str__(self) -> str:
return str(self.original_dataframe)
Run Code Online (Sandbox Code Playgroud)
这将使当 aMySupperTable转换为 a时str,它会将其转换original_dataframe为 astr并返回它。
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |