Python中str()、repr()、``的区别
str()函数和repr()函数都是将任意数据类型转换为字符类型,但是它们之间又有一些区别,网上以及一些书籍上大多数都是这样描述:
函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
或者是:
str()函数得到的字符串可读性好,而repr()函数得到的字符串通常可以用来重新获得该对象。通常情况下obj==eval(repr(obj))这个等式是成立的。
事实上到目前为止我并不清楚repr()函数有什么特别的用途,但还是根据自己的理解写下以下笔记 。
str()函数和repr()函数的使用示例:
>>> str(5)'5'>>> repr(5)'5'>>> str(type(5))"<class 'int'>">>> repr(type(5))"<class 'int'>">>> str(5)==repr(5)True>>> str(type(5))==repr(type(5))True
从上面的示例中并不能发现str()函数和repr()函数在使用上有什么区别,所以某种程度上str()函数和repr()函数的功能是有一定的重合性的。
但如果我们将一个字符串值做为参数分别带入到两个函数中,结果就会不一样。
>>> str('abc')'abc'>>> repr('abc')"'abc'">>> str('abc')==repr('abc')False
上面的示例中可以看出,如果使用str()函数值来转换一个字符串变量,其值并不会发生改变。但如果换成repr()函数,则repr()函数会将原来值的字符串表示中的定界符引号也转换为字符串的一个组成部分。再看下面的例子:
>>> repr("abc")"'abc'">>> repr("'abc'")'"\'abc\'"'>>> repr('''"'abc'"''')'\'"\\\'abc\\\'"\''
为了表达多出来的定界符,repr()函数最后使用了转义符“\”。
目前为止我只发现了str()函数和repr()函数在转换字符串时有这一点区别,其他在功能上似乎没有不同(或许是我的理解以及查阅的资料还不够全面,如有错误欢迎指正)。
再为说一下``运算符(注意这不是两个单引号,而是键盘字母键区的数字键“1”前面的那个按键),这个运算符的作者跟repr()的作用其实是一模一样的,但只在python2版本中获得支持,在Python3中已经取消了这种用法。
以下示例是在python2.7.13中进行的演示。
>>> repr('abc')"'abc'">>> `'abc'`"'abc'"
以下示例是在Python3.6.0中进行的演示。
>>> repr('abc')"'abc'">>> `'abc'`File "<stdin>", line 1`'abc'`^
SyntaxError: invalid syntax
最后
以上就是小编所分享的内容,喜欢的话可以加个关注,希望能够帮助到大家,仅供参考。
我自己整理了一套最新的python系统学习教程,从基础到实战,实用性都很高,可以免费送给大家,进python学习交流群:851211580 即可免费领取。
Python中str()、repr()、``的区别相关推荐
- python中str和int区别_python中eval与int的区别浅析
python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval() ...
- python中str和int区别_Python如何比较string和int?
从 python 2 manual: CPython implementation detail: Objects of different types except numbers are orde ...
- python中str和int区别_Python中的string方法和str方法有什么区别?
String是一个模块,str是一个类型. 我发现str有方法,有些str的方法与string相同.在>>>dir(str) ['__add__', '__class__', '__ ...
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...
Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...
- 【Python】Python中str()和repr()函数的区别
作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() . 区别与使用 参考文章:Python 中 str() 和 repr() 函数的 ...
- python中的repr是什么意思_python中str和repr有什么区别
python中str和repr有什么区别?下面给大家详细介绍: 1.内建函数str()和repr() 或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息. 2.str( ...
- python中str函数isdigit、isdecimal、isnumeric的区别
python中str函数isdigit.isdecimal.isnumeric的区别 num = "1" #unicode num.isdigit() # True num. ...
- Python 中的 repr (关键词:Python/repr)
描述 函数str() 用于将值转化为适于人阅读的形式, repr() 函数将对象转化为供解释器读取的形式. repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较 ...
- python中的repr_repr,python中的repr
这个函数,对应repr(object)这个功能.意思是当需要显示一个对象在屏幕上时,将这个对象的属性或者是方法整理成一个可以打印输出的格式. 这个功能与eval也可以对应.打印出的结果直接放到eval ...
- python中str表示什么意思,python中str是什么意思
Python中,str.format(**locats()) 什么意思 python 2.7里边的str.format是啥啊,怎么用啊,能format就是格式化输出字符串,简单的说就是format里面 ...
最新文章
- maven jar包冲突常见报错及解决方法
- git push throws error: RPC failed; result=22, HTTP
- [官版翻译]OpenStack centos版安装(三)
- 随堂小测app冲刺(六)
- 世道变了!这个AI竞赛不再要刷榜成绩,直接看商业落地计划书
- “/”应用程序中的服务器错误
- mysql 数据库 额外_mysql – 拥有“额外”数据库查询有多糟糕?
- laravel构造器的CURD
- java的使用条件_Java使用条件语句和循环结构确定控制流
- python多线程logger_python多线程logger_Dblogger:一个Python语言实现支持多进程和多线程日志打印高效Python日志库......
- 云计算实战系列六(Linux进程管理)
- rust里面的柴油桶有什么用_用了橡木桶的红酒就一定好吗?什么样的酒才适合橡木桶?...
- 计算机专业老师新学期工作计划,2020教师新学期工作计划5篇
- Linux下通过ssh上传、下载文件或者文件夹
- Matlab 括号用法
- 什么是tomcat?tomcat是干什么用的?
- 使用Fiddler修改百度的Logo
- 计算机word窗口的组成,推计算机等级考试题库:一级MS Office第三章“Word窗口及其组成”(一)...
- android 手机 p8 GRA-CL00 无法收到组播问题记录
- 大连商务英语学校百家外语国际部商务英语与普通英语的不同之处
热门文章
- Failed to start /etc/rc.d/rc.local Compatibility
- 微信和QQ这么多群,该如何管理好友关系?
- bert 句向量 的 各向异性问题 及与 对比学习 的联系
- 初学Java心得体会
- 如何用word制作商品条码
- webrtc rtc_base Copy_on_write_Buffe类功能剖析
- 什么是FFmpeg?
- 热衷于“二”的太二,囿于“酸菜鱼”
- linux下关机命令提示要root,linux下关机
- 1-继承、模板设计模式、抽象类、final