老猿在《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

通俗易懂方式解说Python中repr(变量)和str(变量)函数的区别的更多相关文章

  1. Python中文件读写read,readline,readlines函数的区别?

    read 每次会读取整个文件 readline 每次读取一行信息 readlines 读取整个文件返回一个列表,列表每个元素代表一行

  2. Python中repr(变量)和str(变量)的返回值有什么区别和联系

    Python中repr(变量)和str(变量)都返回一个描述对象的字符串,二者有关联又有不同.由于Python3.0后都是新式类,我们的分析也是基于新式类进行的.基于object派生的新式类中二者之间 ...

  3. [转]关于python中带下划线的变量和函数的意义

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  4. python中urllib, urllib2,urllib3, httplib,httplib2, request的区别

    permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个ur ...

  5. python中lambda,map,reduce,filter,zip函数

    函数式编程 函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象.简单来讲,函 ...

  6. 【python】dir(__builtins__)查看python中所用BIF(内置函数)

    dir(__builtins__)查看python中所用BIF(内置函数)

  7. python中生成器对象和return 还有循环的区别

    python中生成器对象和return 还有循环的区别 在python中存在这么一个关键字yield,这个关键字在项目中经常被用到,比如我写一个函数不想它只返回一次就结束那我们就不能用return,因 ...

  8. Python中%r和%s的详解及区别_python_脚本之家

    Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm

  9. python中os.path.abspath与os.path.realpath 区别

    python中os.path.abspath与os.path.realpath 区别cd /homemkdir amkdir btouch a/1.txtln -s /home/a/1.txt /ho ...

随机推荐

  1. 手写cli

    惠善一的博客:http://huishanyi.club/ 通过命令行工具,初始化团队项目,并生成团队规范代码,一键创建项目,一键生成代码,一键生成功能模块··· 解放双手,从 cli 开始, JSe ...

  2. 【SpringBoot】15. Spring Boot核心注解

    Spring Boot核心注解 1 @SpringBootApplication 代表是Spring Boot启动的类 2 @SpringBootConfiguration 通过bean对象来获取配置 ...

  3. C# OpenFileDialog和SaveFileDialog的常见用法

    #region 示例1 SaveFileDialog sfd = new SaveFileDialog(); //设置文件类型 sfd.Filter = "备份文件(*.bak)|*.bak ...

  4. boston.csv 完整版 508个数据集

    https://pan.baidu.com/s/1C1Llx8cTu5xBdK9GuDZ11A 提取码:u6cm

  5. 斯福赛特:中了.Devos勒索病毒。所有文件被加密了,如何解密解决?

    什么是.devos勒索病毒? 也称为DHARMA勒索软件1,它通过加密文件并要求支付赎金以恢复对文件的访问来修改您的文件. DHARMA勒索软件通过名为.devos的新加密病毒再次活跃.该特定的病毒家 ...

  6. 实现一个简易vue

    vue主要的功能实现主要分为3部分: 数据劫持/数据代理:数据改变时通知相关函数进行更新操作 数据依赖收集:建立保存dom节点与数据的关联关系 模板与数据之间的绑定:接受到新数据时对dom节点进行更新 ...

  7. IP 层收发报文简要剖析2--ip报文的输入ip_local_deliver

    ip报文根据路由结果:如果发往本地则调用ip_local_deliver处理报文:如果是转发出去,则调用ip_forward 处理报文. 一.ip报文转发到本地: /* * Deliver IP Pa ...

  8. linux服务器间配置ssh免密连接

    先说一下,我用的centos7,root用户.ssh的原理就不说了,网上介绍的文章很多,直接开始说操作步骤吧: 1.首先确认有没有安装ssh,输入 rpm -qa |grep ssh查看 这样就表示安 ...

  9. python + appium 执行报错整理

    1.driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys("adidas" ...

  10. linux全局和个人配置文件说明

    1.bash配置文件: 1).全局(bash的配置文件) 有 /etc/profile   /etc/profile.d/*  与 /etc/bashrc 其实都是bash这个程序启动的时候会读取配置 ...