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面向对象编程中非常重要的一个方法,可以用于返回一个对象的可打印的字符串表示形式,并且通常用于调试和开发过程中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 显示对象属性方法__repr__()详解 - Python技术站