Python面向对象编程repr方法示例详解

 更新时间:2021年09月29日 12:03:51   作者:小菠萝测试笔记  
这篇文章主要介绍了Python面向对象编程repr方法的示例详解,文中附含详细的代码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助

为什么要讲 __repr__

在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示)

假设在开发调试过程中,希望使用 print 实例对象时,输出自定义内容,就可以用 __repr__ 方法了

或者通过 repr() 调用对象也会返回 __repr__ 方法返回的值

是不是似曾相识....没错..和 __str__ 一样的感觉 代码栗子

class A:
    pass
 
    def __repr__(self): 
a = A()
print(a)
print(repr(a))
print(str(a))  
# 输出结果
<__main__.A object at 0x10e6dbcd0>
<__main__.A object at 0x10e6dbcd0>
<__main__.A object at 0x10e6dbcd0>

默认情况下,__repr__() 会返回和实例对象 <类名 object at 内存地址> 有关的信息

重写 __repr__ 方法

class PoloBlog:
    def __init__(self):
        self.name = "小菠萝"
        self.add = "https://www.cnblogs.com/poloyy/"
 
    def __repr__(self):
        return "test[name=" + self.name + ",add=" + self.add + "]"  
blog = PoloBlog()
print(blog)
print(str(blog))
print(repr(blog)) 
# 输出结果
test[name=小菠萝,add=https://www.cnblogs.com/poloyy/]
test[name=小菠萝,add=https://www.cnblogs.com/poloyy/]
test[name=小菠萝,add=https://www.cnblogs.com/poloyy/]

只重写 __repr__ 方法,使用 str() 的时候也会生效哦

class PoloBlog:
    def __init__(self):
        self.name = "小菠萝"
        self.add = "https://www.cnblogs.com/poloyy/"
 
    def __str__(self):
        return "test[name=" + self.name + ",add=" + self.add + "]"
 
blog = PoloBlog()
print(blog)
print(str(blog))
print(repr(blog))
 
# 输出结果
test[name=小菠萝,add=https://www.cnblogs.com/poloyy/]
test[name=小菠萝,add=https://www.cnblogs.com/poloyy/]
<__main__.PoloBlog object at 0x10e2749a0>

只重写 __str__ 方法的话,使用 repr() 不会生效的哦!

str() 和 repr() 的区别

https://www.jb51.net/article/64333.htm

以上就是Python面向对象编程repr方法示例详解的详细内容,更多关于Python面向对象编程repr的资料请关注脚本之家其它相关文章!

相关文章

  • python3.6 实现AES加密的示例(pyCryptodome)

    python3.6 实现AES加密的示例(pyCryptodome)

    本篇文章主要介绍了python3.6 实现AES加密的示例(pyCryptodome),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Python tkinter如何设置背景颜色

    Python tkinter如何设置背景颜色

    本文主要介绍了Python的tkinter库中设置组件背景颜色的方法,主要通过使用bg选项和config方法来实现,包括设置单个组件、窗口、按钮、文本框以及整个应用的背景颜色,同时也可以使用十六进制颜色代码进行更精确的颜色控制
    2024-09-09
  • python安装numpy&安装matplotlib& scipy的教程

    python安装numpy&安装matplotlib& scipy的教程

    下面小编就为大家带来一篇python安装numpy&安装matplotlib& scipy的教程。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • python3 如何解压缩.gz文件

    python3 如何解压缩.gz文件

    这篇文章主要介绍了python3 如何解压缩.gz文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Python实现多项式拟合正弦函数详情

    Python实现多项式拟合正弦函数详情

    这篇文章主要介绍了Python实现多项式拟合正弦函数详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python多进程并发(multiprocessing)用法实例详解

    Python多进程并发(multiprocessing)用法实例详解

    这篇文章主要介绍了Python多进程并发(multiprocessing)用法,实例分析了multiprocessing模块进程操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • python实现图片转字符画的完整代码

    python实现图片转字符画的完整代码

    这篇文章主要给大家介绍了关于python实现图片转字符画的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python实现12306火车票抢票系统

    Python实现12306火车票抢票系统

    这篇文章主要介绍了Python实现12306火车票抢票系统,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • 利用Python通过获取剪切板数据实现百度划词搜索功能

    利用Python通过获取剪切板数据实现百度划词搜索功能

    大家是不是嫌弃每次打开百度太麻烦?今天教大家利用Python通过获取剪切板数据实现百度划词搜索功能,用程序直接打开网页,需要的朋友可以参考下
    2021-06-06
  • python妹子图简单爬虫实例

    python妹子图简单爬虫实例

    这篇文章主要介绍了python妹子图简单爬虫,实例分析了Python爬虫程序所涉及的页面源码获取、进度显示、正则匹配等技巧,需要的朋友可以参考下
    2015-07-07

最新评论