先来看几个列子

>>> a = "777"
>>> repr(a)
"'777'"
>>> eval(repr(a))  # 还是原来的类型
'777'
>>> eval(str(a))  # 不是原来的类型
777
>>> type(eval(str(a)))
<type 'int'>>>> class A(object):
...     def a():
...         a = 1
>>> b = A()
>>> repr(b)
'<__main__.A object at 0x10a12d150>'
>>>
>>> str(b)
'<__main__.A object at 0x10a12d150>'
>>> repr(b)  == str(b)  # 两个函数转成字符串的值是相等的
True
>>> eval(repr(b))  # 报错了
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "<string>", line 1<__main__.A object at 0x10a12d150>^
SyntaxError: invalid syntax>>> eval('A()')
<__main__.A object at 0x10a0d2b10>

总结:
repr:将对象转化成字符串;python的基本数据类型做为参数时,可以和eval函数来回转化;非基本类型就不能来回转化了。
str: 将对象转化成字符串;即使参数的类型是基本类型,也不一定能够来回转化;非基本类型也不能来回转化。
eval:将字符串转化成对象

repr与str和eval相关推荐

  1. python中 str 和 repr_python repr()与str()区别总结

    python中,用于将某一类型的变量或者常量转换为字符串对象的方法有两种,即repr()和str().但是他们在定义.面向对象.返回处理方式.字符串处理和输出目的都有很大的不同,本文将做详细介绍. 1 ...

  2. python的repr和str有什么不同_str()和repr()的异同

    str()函数和repr()函数,都是Python内置的标准函数.这两个函数都是根据参数对象返回一个字符串,但是又有一些不一样的地方.我们在使用的时候,常常搞混,倾向于使用简单明了的str()函数,而 ...

  3. python的repr和str有什么不同_str和repr的区别?

    Alex总结得不错,但令人惊讶的是,过于简洁. 首先,让我重申一下Alex's post中的要点:默认的实现是无用的(很难想象有一个不是,但是是的) __repr__目标是明确的 __str__目标是 ...

  4. python转换数据类型(int、float、str、eval、tuple、list、chr、ord、bin、oct、hex)

    1. 转换数据类型的函数 2. 转换数据类型的作⽤ 问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作? 答:转换数据类型即可,即将字符串类型转换成整型. 示例需 ...

  5. Python基础教程:repr()与str() 的区别

    总的来说 str():将传入的值转换为适合人阅读的字符串形式 repr():将传入的值转换为 Python 解释器可读取的字符串形式 传入整型 # number resp = str(1) print ...

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

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

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

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

  8. python@内置帮助系统的使用@eval@repr@str@内置函数源代码查看

    文章目录 refs python命令行文档 python --help python help函数 进入帮助系统(简练的python文档系统) 查阅内置模块(函数/异常/对象) 内置类型 区分大小写 ...

  9. str函数和repr函数的区别

    2019独角兽企业重金招聘Python工程师标准>>> str()一般是将数值转成字符串. repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思. ...

最新文章

  1. 马云自嘲只会用电脑收发邮件,网友:马老师的话,听听就行了
  2. db2安装包v10.5_LINUX安装db2V10.5步骤
  3. This Handler class should be static or leaks might occur(null) 解决办法 (转)
  4. Dynamics CRM 同一实体多个Form显示不同的Ribbon按钮
  5. [FF-A]-02-Concepts
  6. 启动maven项目在eclipse中报错 Can‘t find class [×××] for bean with name '××' defined in class path resource
  7. C# 发送邮件的记录(qq,126,Gmail)
  8. P2782 友好城市
  9. Springboot Bean Validation校验框架
  10. 微服务化架构演进与人员组织
  11. Scott Mitchell 的ASP.NET 2.0数据教程之十七:: 研究插入、更新和删除的关联事件
  12. Intellij IDEA配置优化--转载
  13. Mysql占用CPU过高的时候,该从哪些方面下手进行优化?
  14. WEB开发常用软件集合
  15. de4dot反混淆脱壳工具可使用的包
  16. 华为交换机初始化_华为S5700交换机初始化和配置TELNET远程登录
  17. Ubuntu16.04中好用的软件(持续更新)
  18. 51单片机c语言音乐盒设计,基于51单片机的音乐盒课程设计开题报告精品
  19. 连续分配管理方式(单一连续分配 固定分区分配 动态分区分配)
  20. Python批量删除文件名中带小括号数字(1)(2)(3)...

热门文章

  1. php imagick gif,php imagick生成gif动画的方法
  2. 孙正义持有的软银股份是多少?
  3. python求解指定输入的两个整数的二进制表达不同位数之和
  4. 【华人学者风采】罗忠敬 清华大学
  5. jenkins 插件地址
  6. 【蓝桥杯】 数独游戏 (经典深搜题型)
  7. pytorch版本.post2
  8. 视频教程-ThinkPHP5实现QQ快捷登录初级入门-PHP
  9. 统计深度学习与最优传输理论,传统方法vs深度学习,符号主义与联结主义
  10. Spark大数据学习资源汇总