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面向对象编程中非常重要的一个方法,可以用于返回一个对象的可打印的字符串表示形式,并且通常用于调试和开发过程中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 显示对象属性方法__repr__()详解 - Python技术站

(0)
上一篇 2023年2月23日 下午9:32
下一篇 2023年2月23日 下午8:05

相关文章

  • Python finally的两种使用场景

    在 Python 中,finally 用于定义一个代码块,无论 try 块中是否出现异常,它都将始终执行。通常使用 finally 块来执行清理操作,例如关闭文件或释放资源。 Python finally基本使用方法 以下是 finally 块的基本语法: try: # 可能会出现异常的代码块 except Exception: # 处理异常的代码块 els…

    2023年2月26日
    00
  • 给Python list列表添加元素

    Python给list列表添加元素的函数有:append()、extend()、insert()。其中append()和extend()在list列表末尾追加元素,insert()在list列表任意位置插入元素。以下是三者的具体区别:

    2023年1月20日
    00
  • Python 匿名函数(lambda表达式)用法详解

    在 Python 中,匿名函数也被称为 lambda 函数。它是一种没有名称的函数,可以快速地创建简单的函数。 Python匿名函数语法 Python 中的 lambda 函数的语法是: lambda arguments: expression 其中,arguments 是函数的参数,expression 是函数执行的表达式。 Python匿名函数实例 la…

    2023年2月21日
    00
  • Python 如何自定义模块(详解版)

    Python是一门高度模块化的语言,支持自定义模块,方便开发者在编写程序时复用代码,提高代码的可维护性和可读性。本文将详细介绍Python自定义模块的方法和注意事项。 Python自定义模块 在Python中,自定义模块就是开发者自己编写的代码文件,可以包含函数、类、变量等。自定义模块可以被其他程序导入和使用,从而实现代码的复用。Python自定义模块的命名…

    2023年2月25日
    00
  • Python 序列详解(含索引、切片)

    序列,指的是一块连续的、可存放多个值的内存空间,这些值按顺序排列,并且每个值所在的位置都有个编号(称为索引),可以通过编号访问它们。形象化地解释,你可以将它看做是一家旅店,店中的每个房间就是序列的一个个内存空间,每个房间的房间号就是索引值。我们想去哪个房间,通过房间号(索引)查找就可以。

    2023年1月15日
    30
  • Python property()函数有什么特殊作用?

    在Python中,property()是一个内置函数,用于创建属性。它能够让我们把类的方法当做属性来访问,并提供一些额外的控制。 property()函数的作用是创建一个属性,通过这个属性可以访问对象的某个属性,同时可以控制属性的读取和修改操作。property()函数需要传入三个方法:一个用于获取属性值的方法,一个用于设置属性值的方法和一个用于删除属性的方…

    2023年2月22日
    00
  • Python for循环高级用法

    Python是一门简单、易学、高效的编程语言。其中的for循环语句是Python中最常用的循环语句之一。 在这篇文章中,我们将详细介绍Python的for循环及其用法。 Python for循环的基本语法 Python的for循环语法与其他编程语言中的for循环语法略有不同。在Python中,for循环语句的基本语法如下: for <variable&…

    2023年2月17日 Python流程控制
    00
  • Python 删除对象方法__del__()详解

    在Python中,del()是一种特殊的方法,也称为析构方法,用于定义一个对象在被销毁之前要执行的操作。当Python解释器确定某个对象没有被任何引用指向时,就会调用该对象的del()方法来进行销毁操作。在本文中,我们将详细讲解Python中的del()方法。 Python del()方法基本用法 del()方法是Python中的一种特殊方法,用于定义一个对…

    2023年2月23日
    00
合作推广
合作推广
分享本页
返回顶部