关键词

Python 显示对象属性方法__repr__()详解

repr() 方法用于返回一个对象的可打印的字符串表示形式。该方法通常被称为“对象的调试表示”,因为它通常用于调试和开发过程中的对象表示。当使用print()或repr()函数来打印或显示对象时,Python 解释器会自动调用该方法。

str() 方法不同,repr() 方法返回的字符串应该是合法的 Python 代码,并且使用eval()函数应该能够返回原始对象。

repr() 方法通常用于调试和开发过程中,所以它会尽可能包含对象详细的信息。它会返回一个字符串,该字符串表示对象的唯一且具有可读性的表示形式。通常包括对象的类名称、对象的所有属性的值,以及任何其他有助于唯一标识对象的信息。

下面是一个简单的示例,展示了如何在Python中使用repr()方法:

class Site:
    def __init__(self, name, domain):
        self.name = name
        self.domain = domain

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

p = Person('Python技术站', 'www.pythonjishu.com')
print(p)  # Output: Site(name='Python技术站', domain='www.pythonjishu.com')

在上面的代码中,我们定义了一个名为Person的类,该类具有名称和年龄属性。我们还定义了repr()方法,该方法返回一个表示该对象的字符串。在实例化Person类的对象后,我们将其传递给print()函数,该函数将调用repr()方法,并打印出其返回的字符串。

repr()方法通常与str()方法一起使用。str() 方法用于返回一个对象的非正式字符串表示形式,而repr() 方法返回的字符串应该是一个有效的 Python 表达式,用于重新创建该对象。

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})"

    def __str__(self):
        return f"{self.name} ({self.age})"

p = Person('Alice', 25)
print(p)  # Output: Alice (25)
print(repr(p))  # Output: Person(name='Alice', age=25)

在上面的代码中,我们定义了一个名为Person的类,并且我们实现了str()和repr() 方法。在实例化Person类的对象后,我们将其传递给print()函数,该函数将调用str()方法,并打印出其返回的字符串。同样,我们也使用了repr()函数来调用repr()方法,并返回其返回的字符串。

总之,repr() 方法是Python面向对象编程中非常重要的一个方法,可以用于返回一个对象的可打印的字符串表示形式,并且通常用于调试和开发过程中。

本文链接:http://task.lmcjl.com/news/14612.html

展开阅读全文