__repr__()

__repr__() 是 Python 类中的一个特殊方法,由 object 对象提供,由于所有类都是 object 类的子类,所以所有类都会继承该方法。

该方法主要实现 “自我描述” 功能——当直接打印类的实例化对象时,系统将会自动调用该方法,输出对象的自我描述信息,用来告诉外界对象具有的状态信息。

但是,object 类提供的 __repr__() 方法总是返回一个对象(类名 + obejct at + 内存地址),这个值并不能真正实现自我描述的功能!如下:

注:

输出实例化的 Person 类对象,返回的是一个在内存中的对象。而当输出 person 实例对象时,实际上输出的是 __repr__ 方法的返回值,也就是说下边两个输出的效果一样 :

class Person():def __init__(self,name,age):self.name = nameself.age = ageperson = Person('zk', 20)
print(person)
print(person.__repr__())

输出:

<__main__.Person object at 0x7f5fe2bb4e50>
<__main__.Person object at 0x7f5fe2bb4e50>

因此,如果你想在自定义类中实现 “自我描述” 的功能,那么必须重写 repr 方法:

class Person():def __init__(self,name,age):self.name = nameself.age = agedef __repr__(self):return 'Person类,有name和age两个属性'person = Person('zk', 20)
print(person)
print(person.__repr__())

输出:

Person类,有name和age两个属性
Person类,有name和age两个属性

python 中的 __repr__() 方法相关推荐

  1. Python 中的特殊方法(定制类):__str__、__cmp__、__len__、数学运算、类型转换、@property运用、__slots__和__call__函数

    Python中的特殊方法 Python的特殊方法定义在 class中,不需要直接进行显示调用,Python的某些操作符或者函数会自动调用对应的特殊方法.这些方法如:__str__().__len__( ...

  2. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  3. python使用方法-在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  4. python中range 10 0_如何在python中使用range方法

    如何在python中使用range方法 发布时间:2021-01-05 16:55:23 来源:亿速云 阅读:94 作者:Leah 如何在python中使用range方法?很多新手对此不是很清楚,为了 ...

  5. Python中sys.argv方法的一些典型用法

    本文整理汇总了Python中sys.argv方法的典型用法代码示例. 示例1: weather_icons # 需要导入模块: import sys [as 别名] # 或者: from sys im ...

  6. python中函数和方法的区别

    本篇内容主要介绍从几个维度来介绍下python中函数和方法的区别: 首先,从分类的角度来分析. (1)函数的分类: 内置函数:python内嵌的一些函数. 匿名函数:一行代码实现一个函数功能. 递归函 ...

  7. python脚本怎么使用_在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  8. python方法测试怀孕_在Python中测试私有方法(例外)

    在阅读了关于在Python中测试私有方法的内容之后,特别是在How do I unit test the methods in a method object?处引用了接受的答案,看来最好只测试公共接 ...

  9. python计时器timeit返回秒数_一日一技:Python中的timeit()方法

    timeit()方法 python中的timeit()方法, 它用于获取代码的执行时间.该库将代码语句运行一百万次,并提供从集合中花费的最短时间.这是一种有用的方法,有助于检查代码的性能. 语法如下: ...

最新文章

  1. 8月第3周回顾:四巨头发三大新闻 一报告引多家争议
  2. 【安全漏洞】苹果取证的分析
  3. 谷歌浏览器怎么重发请求_chrome 浏览器的预提取资源机制导致的一个请求发送两次的问题以及ClientAbortException异常...
  4. 程序一直吐司提示获取缓存记录失败以及吐司显示set Alias success
  5. Android开发之通过反射获取全局的application
  6. Material Design入门(三)
  7. python数据可视化是什么_Python数据分析:可视化
  8. P2651 添加括号III(python3实现)
  9. editplus 格式java_用Editplus开发Java
  10. while(条件) 语句;语句 容易理解错的一点
  11. 《软件方法》第8章 分析 之 分析类图——知识篇Part1(20211029更新)
  12. 华为笔试题库及性格测试
  13. Android基础入门教程——4.4.2 ContentProvider再探——Ducument Provider
  14. VS2017创建项目模板和项模板(方便实用)
  15. 基于低代码平台的OA系统,更灵活高效!
  16. html 图片加载 占位,css实现图片未加载完成时占位显示
  17. python做excel数据条件_懂点EXCEL就行!教你利用Python做数据筛选(上)
  18. java滑雪,AcWing 901. 滑雪-java
  19. JAVA出现x可以在Point中访问private是什么意思 高手进
  20. MOOC浙大数据结构课后题记录——PTA数据结构题目集(全)

热门文章

  1. cas java_什么是CAS?JAVA中哪些地方用到来CAS?
  2. java 仿百度文库源码_java开发_模仿百度文库_OpenOffice2PDF_源码下载
  3. Symantec BESR备份操作系统
  4. lscpu与cat /proc/cpuinfo获取的CPU信息释义
  5. JSON.parse() 和 JSON.stringify()
  6. 如何查看自己加入过的微信群
  7. 时空大数据可视化专栏
  8. 电视购物中心小型呼叫中心系统二次开发
  9. C++,cout和std::cout的区别
  10. 如何改善自己的语言表达能力?