python __repr__
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__相关推荐
- python __repr__方法_Python __repr__()方法起什么作用呢?
摘要: 下文讲述Python中 __repr__()方法的功能说明,如下所示: __repr__()方法的功能: 用于修改实例化对象的print效果, 如:print(实例化对象) 此时则返回 __r ...
- python __repr__方法_第8.13节 Python类中内置方法__repr__详解
当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关 ...
- python `__repr__`
https://docs.python.org/3/reference/datamodel.html#object.repr object.__repr__(self) 调用repr()方法将自己转换 ...
- 理解python __repr__()方法
通常情况下,python中想了解该对象的基本信息,直接使用print输出即可,但是对于类的实例化对象,想要知道他都有什么属性,它们的值各是多少等等.这时候直接使用print默认情况下,输出的信息是&q ...
- python __repr__用法_如何使用repr调试python程序
一般调试程序的时候都比较倾向print,利用直接打印的方法作出判断,但是print只能打印出结果,对类型无法作出判断.例如: 复制代码 a = 5 b = '5' print(a) print(b) ...
- python __repr__用法_python中str和repr_关于Python中repr和str用法的区别?
我们在用Python的时候,有时候会发现在交互模式下直接输入一个变量跟输入print(变量)打印出来的东西是不一样的. 还有时候,我们打印一个对象,得到的不是我们想要的它的值,而是一个内存地址. 这些 ...
- python __repr__用法_Python 中 str 和 repr 的区别
Alex总结得很好,但是也太简洁了. 首先让我来重复下Alex的总结的要点: 缺省实现是没用的(很难说不是,但是没错) __repr__的目标是准确性 __str__的目标是可读性 容器的__str_ ...
- Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?
这是因为Python3中,str的输出是调用类的实例方法__str__来输出,如果__str__方法没有重写,则自动继承object类的__str__方法,而object类的__str__方法是调用_ ...
- Python基础教程和入门教程
最近很多小伙伴都来问我,怎么学习python,应该从哪里开始学习呀,要学什么呀,没有辅助资料我也学不会呀,这次它来了,文章比较长耐心看完,看到最后聪明的人就能看懂我的神秘代码哟!! 一:学习目录 第1 ...
最新文章
- TabLayout 遇到那些坑 tab标签不显示问题
- 针对脑出血识别的AI匹配准确性
- 人群密度估计--Learning a perspective-embedded deconvolution network for crowd counting
- 技术开发项目收获了什么_有幸入职字节跳动一年,附上百度、字节跳动等后台面经,谈谈我的收获!...
- 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug
- VTK:Rendering之WalkCow
- maven 引入外部jar包的几种方式
- 【MySQL】B-Tree 索引和数据的碎片 以及 Alert Table 会触发数据整理?
- Python2.7和3.6之间的区别
- Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作
- 数据挖掘十大算法之C4.5
- Eclipse中,将jar包导入为User Library
- .NET中的数据结构——表
- 中国专利电子申请网CPC客户端的安装教程
- c语言中isupper用法,C 库函数 - isupper()
- 蓝懿IOS学习图片编辑器
- Python之win7环境下安装python3
- linux设置字符编码gbk,CentOS修改默认字符编码为GBK
- ruby + cucumber环境搭建
- AcWing 4489. 最长子序列
热门文章
- 升级npm之后,保存的位置仍然在C盘,不在自己规定的盘下
- php登录改为用户名,Laravel 认证脚手架改为使用用户名登录
- mysql 5.6.19 linux_MySQL 5.6.19升级到 5.7.9 步骤记录
- 如何用r压缩列联表_压缩袋好用吗?哪个牌子比较好?如何选择真空压缩袋?羽绒服能用真空压缩袋吗?...
- docker宿主机访问容器_干货来啦!带你初探Docker逃逸
- Python+pandas实现时间序列数据扩展案例一则
- python 实现对地图的点击_python使用folium库绘制地图点击框
- 基于OpenCV和C++实现最大阈值分割算法
- 只可顺守不可逆取书法_坚持练书法10年以上,会怎么样?
- mysql逻辑读高影响_运维日记| MySQL/Oracle深度解析之一:逻辑读