Python中repr(变量)和str(变量)都返回一个描述对象的字符串,二者有关联又有不同。由于Python3.0后都是新式类,我们的分析也是基于新式类进行的。基于object派生的新式类中二者之间的关联关系如下:
1、这两个函数分别对应object类内置的特殊方法__repr__和__str__;
2、缺省情况下二者返回值相同,这是因为object类中,__str__方法调用的就是__repr__方法;
3、对于开发者重写__repr__和__str__这两个方法时,Python建议__repr__返回面向开发者的变量的数据内容,甚至与开发者可以根据返回信息直接复制粘贴就可以定义一个与对应变量值相等的新变量,而__str__则返回面向最终用户可读可理解的信息,这是二者最大的区别。
关于二者更多内容请大家关注:
1、《第8.14节 Python类中内置方法__str__详解》
2、《第8.13节 Python类中内置方法__repr__详解》
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树基础语法数据类型333581 人正在系统学习中

老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI


评论记录:
回复评论: