首页 >后端开发 >Python教程 >如何自定义 Python 类实例的字符串表示形式?

如何自定义 Python 类实例的字符串表示形式?

Susan Sarandon
Susan Sarandon原创
2024-12-27 01:16:11997浏览

How Can I Customize the String Representation of My Python Class Instances?

类实例的自定义字符串表示

打印类的实例时,默认输出通常仅提供类名称和对象地址。要自定义此输出并显示特定属性,可以定义类的 字符串表示形式

使用 strrepr方法

Python 提供了两种特殊的方法, str 和 __repr__,控制对象的字符串表示形式。通过重写类中的这些方法,可以指定打印时该类的实例应如何显示。

str 方法

str 方法定义使用 print 函数时要显示的字符串表示形式。它应该返回对象的字符串表示形式。例如:

class Test:
    def __str__(self):
        return "member of Test"

repr 方法

repr 方法定义当使用 repr() 函数或在交互式提示中检查对象。它应该返回一个可用于重新创建对象的字符串表示形式。例如:

class Test:
    def __repr__(self):
        return "Test()"

示例

考虑以下示例:

class Test:
    def __init__(self):
        self.a = 'foo'

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

    def __repr__(self):
        return "Test()"

打印此类的实例时,以下输出将显示:

>>> print(Test())
foo

>>> repr(Test())
Test()

通过定义strrepr 方法,您可以完全控制类实例的字符串表示形式。

以上是如何自定义 Python 类实例的字符串表示形式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn