通俗易懂方式解说Python中repr(变量)和str(变量)函数的区别

通俗易懂方式解说Python中repr(变量)和str(变量)函数的区别

《Python中repr(变量)和str(变量)的返回值有什么区别和联系》介绍了repr(变量)和str(变量)的区别和联系(对应特殊方法__repr__和__str__),但老猿刚才回味了一下,觉得还是写得不够通俗易懂。仔细揣摩了一下,对于初学者,应该用如下方式来解释:
1、Python建议的repr(变量)输出的信息应该类似于程序调试时看到的变量对应内存里的具体数据信息,可以看到数据的每个层次;
2、Python建议的str(变量)输出的信息应该是程序进行了转码解释的用户可以理解的客户化信息。
举例来说:
1、如有一个定义性别的变量sex,为0表示男,为1表示女,则repr输出应该就是0或1,str输出就是应该是“男”或女;
2、如果有个字典,记录内容包括:
name:姓名;
ID:身份证ID;
age:年龄。
则repr的输出应该类似如下:
{name:张三,ID:430004199901011111,age:10}
而用str输出信息应该类似如下:
姓名:张三,身份证:430004199901011111,年龄:10岁。

当然,上面的文字中都说了是“建议”和“应该”,而实际实现时需要看自定义类的开发者重写这两个方法的实现,Python只能建议,无法强制大家遵循相关要求。

老猿Python,跟老猿学Python! 博客地址:https://blog.csdn.net/LaoYuanPython