Python中字符串表示str与repr

简介:

所有通过Python打印的字符串还是被引号括起来的。这是因为Python打印值的时候会保持该值在Python代码中的状态,而不是你希望用户看到的状态,如果使用print 语句,结果就不一样了。

>>> "Hello,world"
'Hello,world'        # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号

>>> print "Hello,world"
Hello,world
>>> 

****************************************************************************************************************

>>> 10000L
10000L                        # python理解为Long型的数字,所以它打印出来的时候也带着后缀L

>>> print 10000L       # 用户看到的当然是一个数字1000,而不是字符串1000L

10000
>>> 

str和repr实际就分别对应上述两种显示方式。

把值转换为合理形式的字符串,给用户看的。str实际上类似于int,long,是一种类型。

repr()

创建一个字符串,以合法python表达式的形式来表示值。repr()是一个函数。

这里可以看到,长整型数10000L被转换成了数字10000,而且在显示给用户的时候也是如此,当你想知道一个变量的值是多少时,可能会对它是整型还是长整型感兴趣。

      值被转换为字符串的两种机制。可以通过以下两个函数来使用这两种机制:一种是通过str函数,它会把值转换为合理形式的字符串,以便用户可以理解;另一个是通过repr函数,它会创建一个字符串,以合法的Python表达式的形式来表示值。

       请看如下示例:

>>> print repr("Hello,world")
'Hello,world'
>>> print repr(1000L)
1000L
>>> print str("Hello,world")
Hello,world
>>> print str(1000L)
1000


repr(x) 也可以写作`x`实现(注意,`是反引号,而不是单引号)。如果希望打印一个包含数字的句子,那么反引号就很有用了。比如:

>>> temp = 42
>>> print "The temperature is " + temp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> print "The temperature is " + `temp`
The temperature is 42
>>> 

>>> print "The temperature is " + str(temp)
The temperature is 42
>>> print "The temperature is " + repr(temp)
The temperature is 42
>>> 

    第一个print语句并不工作,那是因为不可以将字符串和数字进行相加。而第二个则可以正常工作,以为已经通过反引号将temp的值转换成字符串“42”了。(当然也可以使用repr,得到相同的结果)

    简而言之,str,repr和反引号是将Python值转换为字符串的3种方法。函数str让字符串更容易阅读,而repr(和反引号)则把结果字符串转换为合法的Python表达式。str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号。




本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/2065268,如需转载请自行联系原作者

相关文章
|
17天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
1月前
|
大数据 Python
使用Python查找字符串中包含的多个元素
本文介绍了Python中查找字符串子串的方法,从基础的`in`关键字到使用循环和条件判断处理多个子串,再到利用正则表达式`re模块`进行复杂模式匹配。文中通过实例展示了如何提取用户信息字符串中的用户名、邮箱和电话号码,并提出了优化策略,如预编译正则表达式和使用生成器处理大数据。
20 1
|
1天前
|
Python
Python 字符串格式化指南
本文介绍了Python中的三种字符串格式化方法:1) 使用 `%` 操作符,如 `%s` 和 `%d`;2) `str.format()` 方法,通过 `{}` 占位符插入变量;3) Python 3.6 引入的 f-strings,直接在字符串内嵌入变量。此外,还提到了高级用法,如格式控制(如指定小数位数)。这些方法有助于更有效地处理和格式化字符串输出。
3 0
|
8天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
49 0
|
9天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
17天前
|
Java 索引 Python
Python标准数据类型-字符串常用方法(下)
Python标准数据类型-字符串常用方法(下)
21 1
|
17天前
|
XML 编解码 数据格式
Python标准数据类型-String(字符串)
Python标准数据类型-String(字符串)
23 2
|
17天前
|
Python
171: 字符串的倒序(python)
171: 字符串的倒序(python)
|
1月前
|
算法 开发者 Python
【Python 基础扫盲 】self参数、__init__方法和.__str__方法的用处和区别?
【Python 基础扫盲 】self参数、__init__方法和.__str__方法的用处和区别?
20 0
|
1月前
|
JSON C++ 数据格式
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
87 0