1介绍

__repr__repr(object)时调用,默认打印的是内存地址,既hex(id(object))

class A:pass
a = A()
repr(a)
'<__main__.A object at 0x7f3b94a113d0>'

2.重写__repr__

class A:def __repr__(self):return "重写了__repr__方法"
a = A()
repr(a)
'重写了__repr__方法'

3.__str__调用了__repr__

所以重写__repr__方法也会改变str的结果

class A:def __repr__(self):return "重写了__repr__方法"a = A()
str(a)
'重写了__repr__方法'

4作用

str主要是将对象转化为字符串,主要面向对象的使用者
repr也是将对象转化为字符串,主要面向对象的开发者

import datetime
today = datetime.datetime.now()
str(today)
'2020-08-05 11:51:34.177766'
repr(today)
'datetime.datetime(2020, 8, 5, 11, 51, 34, 177766)'

参考:
https://blog.csdn.net/sinat_41104353/article/details/79254149

python __repr__相关推荐

  1. python __repr__方法_Python __repr__()方法起什么作用呢?

    摘要: 下文讲述Python中 __repr__()方法的功能说明,如下所示: __repr__()方法的功能: 用于修改实例化对象的print效果, 如:print(实例化对象) 此时则返回 __r ...

  2. python __repr__方法_第8.13节 Python类中内置方法__repr__详解

    当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关 ...

  3. python `__repr__`

    https://docs.python.org/3/reference/datamodel.html#object.repr object.__repr__(self) 调用repr()方法将自己转换 ...

  4. 理解python __repr__()方法

    通常情况下,python中想了解该对象的基本信息,直接使用print输出即可,但是对于类的实例化对象,想要知道他都有什么属性,它们的值各是多少等等.这时候直接使用print默认情况下,输出的信息是&q ...

  5. python __repr__用法_如何使用repr调试python程序

    一般调试程序的时候都比较倾向print,利用直接打印的方法作出判断,但是print只能打印出结果,对类型无法作出判断.例如: 复制代码 a = 5 b = '5' print(a) print(b) ...

  6. python __repr__用法_python中str和repr_关于Python中repr和str用法的区别?

    我们在用Python的时候,有时候会发现在交互模式下直接输入一个变量跟输入print(变量)打印出来的东西是不一样的. 还有时候,我们打印一个对象,得到的不是我们想要的它的值,而是一个内存地址. 这些 ...

  7. python __repr__用法_Python 中 str 和 repr 的区别

    Alex总结得很好,但是也太简洁了. 首先让我来重复下Alex的总结的要点: 缺省实现是没用的(很难说不是,但是没错) __repr__的目标是准确性 __str__的目标是可读性 容器的__str_ ...

  8. Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?

    这是因为Python3中,str的输出是调用类的实例方法__str__来输出,如果__str__方法没有重写,则自动继承object类的__str__方法,而object类的__str__方法是调用_ ...

  9. Python基础教程和入门教程

    最近很多小伙伴都来问我,怎么学习python,应该从哪里开始学习呀,要学什么呀,没有辅助资料我也学不会呀,这次它来了,文章比较长耐心看完,看到最后聪明的人就能看懂我的神秘代码哟!! 一:学习目录 第1 ...

最新文章

  1. TabLayout 遇到那些坑 tab标签不显示问题
  2. 针对脑出血识别的AI匹配准确性
  3. 人群密度估计--Learning a perspective-embedded deconvolution network for crowd counting
  4. 技术开发项目收获了什么_有幸入职字节跳动一年,附上百度、字节跳动等后台面经,谈谈我的收获!...
  5. 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug
  6. VTK:Rendering之WalkCow
  7. maven 引入外部jar包的几种方式
  8. 【MySQL】B-Tree 索引和数据的碎片 以及 Alert Table 会触发数据整理?
  9. Python2.7和3.6之间的区别
  10. Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作
  11. 数据挖掘十大算法之C4.5
  12. Eclipse中,将jar包导入为User Library
  13. .NET中的数据结构——表
  14. 中国专利电子申请网CPC客户端的安装教程
  15. c语言中isupper用法,C 库函数 - isupper()
  16. 蓝懿IOS学习图片编辑器
  17. Python之win7环境下安装python3
  18. linux设置字符编码gbk,CentOS修改默认字符编码为GBK
  19. ruby + cucumber环境搭建
  20. AcWing 4489. 最长子序列

热门文章

  1. 升级npm之后,保存的位置仍然在C盘,不在自己规定的盘下
  2. php登录改为用户名,Laravel 认证脚手架改为使用用户名登录
  3. mysql 5.6.19 linux_MySQL 5.6.19升级到 5.7.9 步骤记录
  4. 如何用r压缩列联表_压缩袋好用吗?哪个牌子比较好?如何选择真空压缩袋?羽绒服能用真空压缩袋吗?...
  5. docker宿主机访问容器_干货来啦!带你初探Docker逃逸
  6. Python+pandas实现时间序列数据扩展案例一则
  7. python 实现对地图的点击_python使用folium库绘制地图点击框
  8. 基于OpenCV和C++实现最大阈值分割算法
  9. 只可顺守不可逆取书法_坚持练书法10年以上,会怎么样?
  10. mysql逻辑读高影响_运维日记| MySQL/Oracle深度解析之一:逻辑读