You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python:如何让自定义类对象默认展示指定属性(如DataFrame)

解决方案

直接重写类的__str__或__repr__魔法方法就能实现需求,这两个方法专门用来控制对象的字符串展示形式:

  • __str__会在调用print()时触发,适合返回易读的内容
  • __repr__会在交互式环境直接输入对象名、或调用repr()时触发,通常用于返回精确、可还原对象的表示

代码示例

假设你的自定义类结构如下:

import pandas as pd

class SuperTable:
    def __init__(self, df):
        self.original_dataframe = df
    
    # 自定义的合并、去重等方法示例
    def deduplicate(self):
        self.original_dataframe = self.original_dataframe.drop_duplicates()

只需添加__str__方法,就能让print(mysupertable)直接输出内部DataFrame:

def __str__(self):
        return str(self.original_dataframe)

如果还想让交互式环境下直接输入对象名就显示DataFrame,再补充__repr__方法:

def __repr__(self):
        return repr(self.original_dataframe)

要是希望两个方法表现一致,也可以让它们互相调用:

def __str__(self):
        return str(self.original_dataframe)
    
    def __repr__(self):
        return self.__str__()

内容的提问来源于stack exchange,提问作者Berti1989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:10:32