Python中的repr()和str()

马谦马谦马谦
马谦马谦马谦
马谦马谦马谦
606
文章
12
评论
2017年8月15日22:38:38 评论

repr()函数的功能是返回对象的规范字符串表达式,什么叫规范表达式呢???首先我们看看函数的声明:

好像并没有发现什么有用的信息,那就先看看str()函数吧。str()函数的功能则是将对象转换成一个字符串,准确的来说str()并不是一个函数,是一个类,字符串类str,我们使用的时候会调去用str类的__init__()方法,而__init__()方法则是python中的构造函数,声明如下:

它将会返回 a nice string!那么什么是nice string?????这里我们来看个例子

先定义两个字符串变量a和b,把他们输出,可以发现,a和str(a)输出完全一致,而repr()则会在外层包裹上单引号再输出,这里可能看起来还不是很明了,那么我们变换一下,把其中的一个str字符串变成unicode字符串类型:

可以看到str还是和上面一样,话不多说直接输出,而repr()则会在外层加上u""。

由此可以理解,规范表达式的意思就是输出对象的时候连通它本身是什么也输出来!

现在我们把英文字符串改成汉字试一试:

在输出中文的时候,str()输出的是还是和之前一样,是什么就输出什么,而repr()则会把汉字的编码以字符串形式输出,这就是repr()的功能——输出这个对象。

可以这么认为:函数str() 会把对象转化为成方便人阅读的形式,而repr() 会把对象转为计算机读取的形式!这就是它们最主要的区别。

当然,str()和repr()还有更高级的用法,最常用就是可以帮我们直接将数值转化成字符串,就像C/C++里面的itoa()函数一样:

四不四灰常方便呀~

 

Python中的repr()和str()

马谦马谦马谦
  • 本文由 发表于 2017年8月15日22:38:38
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/code/python/python-repr-str.html
Redis小案例(一):实现网站访问频率限制 Redis

Redis小案例(一):实现网站访问频率限制

网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用redis做一个简单的网站登录限制案例。 一、使用EXPIRE进行访问频率限制 逻辑:用户登...
python redis-py模块用法 Python

python redis-py模块用法

一、安装 redis中操作redis的模块为redis-py,使用pip install redis或者easy_install redis安装即可,也可以进去https://pypi.python....
python使用_winreg模块操作注册表 Python

python使用_winreg模块操作注册表

一、基本操作 python中的_winreg模块提供了对于windows平台下注册表的一些基本操作,包括对键值的枚举以及增加删除键等,以`HKEY_CURRENT_USERConsole`为例: Op...
python获取命令行参数 Python

python获取命令行参数

一、概述 python获取命令行参数有两种方法,一种是使用sys模块直接获取到所有的命令行参数,另一种是使用getopt来获取指定标记的参数,后者更灵活一点,但是也复杂一点。 二、sys模块获取参数 ...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: