📜  python __repr__ - Python (1)

📅  最后修改于: 2023-12-03 14:45:55.880000             🧑  作者: Mango

Python __repr__方法介绍

在Python中,每个对象都可以使用__repr__方法来定义其字符串表示形式。__repr__是Python中的特殊方法,用于返回对象的可打印形式,通常是一个合法的Python表达式,可以用来重新创建该对象。它经常用于调试和日志记录。

用法

要定义一个对象的__repr__方法,需要在对象的类中添加以下代码片段:

def __repr__(self):
    # 返回对象的字符串表示形式

在这个方法中,可以根据自己的需要返回想要的字符串形式。

示例

以下是一个简单的示例,展示了如何使用__repr__方法:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person(name='{self.name}', age={self.age})"

person = Person("John", 30)
print(repr(person))

输出:

Person(name='John', age=30)

在上面的示例中,Person类定义了一个__repr__方法,返回了一个字符串形式的对象表示。在print(repr(person))语句中,repr函数将调用person对象的__repr__方法,并打印出返回的字符串。

使用场景

__repr__方法主要用于调试和日志记录。通过定义一个有用的__repr__方法,可以方便地查看对象的当前状态和属性值,从而更轻松地进行调试和错误排查。

下面是一些建议的用途:

  • 在类中定义__repr__方法,以便在调试时打印对象的状态。
  • 如果对象是自己定义的类,则建议实现__repr__方法,以便更好地展示对象的属性。
  • 如果对象是用于序列化和反序列化的类(如JSON,XML等),则可以使用__repr__方法返回可以直接被解析的字符串。

综上所述,__repr__方法是一个非常有用的Python特殊方法,可以方便地定义对象的字符串表示形式,以便于调试和日志记录。