repr与str和eval
先来看几个列子
>>> 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相关推荐
- python中 str 和 repr_python repr()与str()区别总结
python中,用于将某一类型的变量或者常量转换为字符串对象的方法有两种,即repr()和str().但是他们在定义.面向对象.返回处理方式.字符串处理和输出目的都有很大的不同,本文将做详细介绍. 1 ...
- python的repr和str有什么不同_str()和repr()的异同
str()函数和repr()函数,都是Python内置的标准函数.这两个函数都是根据参数对象返回一个字符串,但是又有一些不一样的地方.我们在使用的时候,常常搞混,倾向于使用简单明了的str()函数,而 ...
- python的repr和str有什么不同_str和repr的区别?
Alex总结得不错,但令人惊讶的是,过于简洁. 首先,让我重申一下Alex's post中的要点:默认的实现是无用的(很难想象有一个不是,但是是的) __repr__目标是明确的 __str__目标是 ...
- python转换数据类型(int、float、str、eval、tuple、list、chr、ord、bin、oct、hex)
1. 转换数据类型的函数 2. 转换数据类型的作⽤ 问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作? 答:转换数据类型即可,即将字符串类型转换成整型. 示例需 ...
- Python基础教程:repr()与str() 的区别
总的来说 str():将传入的值转换为适合人阅读的字符串形式 repr():将传入的值转换为 Python 解释器可读取的字符串形式 传入整型 # number resp = str(1) print ...
- python中str和repr_关于Python中repr和str用法的区别?
我们在用Python的时候,有时候会发现在交互模式下直接输入一个变量跟输入print(变量)打印出来的东西是不一样的. 还有时候,我们打印一个对象,得到的不是我们想要的它的值,而是一个内存地址. 这些 ...
- python __repr__用法_python中str和repr_关于Python中repr和str用法的区别?
我们在用Python的时候,有时候会发现在交互模式下直接输入一个变量跟输入print(变量)打印出来的东西是不一样的. 还有时候,我们打印一个对象,得到的不是我们想要的它的值,而是一个内存地址. 这些 ...
- python@内置帮助系统的使用@eval@repr@str@内置函数源代码查看
文章目录 refs python命令行文档 python --help python help函数 进入帮助系统(简练的python文档系统) 查阅内置模块(函数/异常/对象) 内置类型 区分大小写 ...
- str函数和repr函数的区别
2019独角兽企业重金招聘Python工程师标准>>> str()一般是将数值转成字符串. repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思. ...
最新文章
- 马云自嘲只会用电脑收发邮件,网友:马老师的话,听听就行了
- db2安装包v10.5_LINUX安装db2V10.5步骤
- This Handler class should be static or leaks might occur(null) 解决办法 (转)
- Dynamics CRM 同一实体多个Form显示不同的Ribbon按钮
- [FF-A]-02-Concepts
- 启动maven项目在eclipse中报错 Can‘t find class [×××] for bean with name '××' defined in class path resource
- C# 发送邮件的记录(qq,126,Gmail)
- P2782 友好城市
- Springboot Bean Validation校验框架
- 微服务化架构演进与人员组织
- Scott Mitchell 的ASP.NET 2.0数据教程之十七:: 研究插入、更新和删除的关联事件
- Intellij IDEA配置优化--转载
- Mysql占用CPU过高的时候,该从哪些方面下手进行优化?
- WEB开发常用软件集合
- de4dot反混淆脱壳工具可使用的包
- 华为交换机初始化_华为S5700交换机初始化和配置TELNET远程登录
- Ubuntu16.04中好用的软件(持续更新)
- 51单片机c语言音乐盒设计,基于51单片机的音乐盒课程设计开题报告精品
- 连续分配管理方式(单一连续分配 固定分区分配 动态分区分配)
- Python批量删除文件名中带小括号数字(1)(2)(3)...