当前位置: 首页 > 编程笔记 >

python使用str & repr转换字符串

简学文
2023-03-14
本文向大家介绍python使用str & repr转换字符串,包括了python使用str & repr转换字符串的使用技巧和注意事项,需要的朋友参考一下

可能比较 low 还是记录一下:

str 和 repr的使用过程

  1. str 是一个类型 (int, long 类似), 同样她也可以作为一个工厂方法 实例一个 string
  2. repr 是python 内置的函数, 用于保留一个 打印值在python 代码片段里的真实状态

好,以上全是废话

>>> a = 1
>>> a + ""
---------------------------------------------------------------------------
TypeError
Traceback (most recent call last)
<ipython-input-5-ebf3ab7f3a34> in <module>()
----> 1 a + ""

TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> a = 1
>>> repr(a) + ""

可以看到, 我们可以通过使用 str 和 repr 来转换字符串

但是,str 只能提供一个 元string来做转换, 不可以是一个变量(她不具备执行变量的能力)

repr 是一个函数, 所以实际上是传参, 可以是变量和string

好多人都知道str()能把123数字转成字符串,python里的str()甚至还能把列表、字典等对象转成字符串。这都好理解,可是一旦把str()和repr()放在一起,大家就全都不淡定了-_-!

来看一段代码,仍是在IDLE里交互:

  >>> str('hello')
  'hello'
  >>> repr('hello')
  "'hello'"

  >>> str('你好')
  '\xc4\xe3\xba\xc3'
  >>> repr('你好')
  "'\\xc4\\xe3\\xba\\xc3'"

先看前两句:英文的'hello'在str()后仍是'hello',可是在repr()后就变成了"'hello'"。这就说明,str()返回的就是字符串本身,而repr()虽然返回的也是字符串,但它是一个标准字符串,官方解释比较绕,我来解释下吧。repr是representation及描述的意思,不是对人的描述,而是对python机器的描述,也就是它会将某物返回一个它在python中的描述。说人话:repr(obj)告诉我们obj这个变量在背地里是什么样子,在背地里是怎么被python处理被python"玩弄"的。

在python里,我们总会被眼睛欺骗。编辑器里显示的东西,并不总是它原本的面貌。python为了方便,总是表面上一套,背地里又一套。

再来理解后两句:中文的'你好'在str()后变成了编码'\xc4\xe3\xba\xc3',在repr()后变成了"'\xc4\xe3\xba\xc3'"。`都加上了转移符变成\,相当于把字符串中的内容都“标准化”了。至于'变成"`只是为了说明repr()返回的是一个经过处理的新字符串。

print后的str()和repr()

来看代码:

  >>> print str('你好')
  你好
  >>> print repr('你好')
  '\xc4\xe3\xba\xc3'

之前str('你好')显示的是'\xc4\xe3\xba\xc3',而一经过print,就变成了正确的'你好'。上面说过了,命令行里直接输入一个变量,显示的是它在python后台html" target="_blank">存储的数据;而用print出来的东西,会显出出尽量友好、让人能看懂的东西。
理解了这个,对print这两个结果的不同,也就全然理解了。然后也就放弃print作为考据的心了。

 类似资料:
  • 问题内容: python 2.7.5和函数之间的区别是什么? python.org上的说明: 该功能是指以返回其是相当值的表示 人类可读 ,而意在产生可以表示 由解释器读取 (或将强制如果没有相当的语法) 但这对我来说还不清楚。 一些例子: 所以我想知道以下 什么时候应该使用?什么时候应该使用? 在哪种情况下我可以使用它们中的任何一个? 做什么不能做? 做什么不能做? 问题答案: 我什么时候应该使

  • 问题内容: 我对Python中的JSON感到有些困惑。在我看来,这就像是一本字典,出于这个原因,我正在尝试这样做: 但是当我这样做时,它会给出一个错误。 如何将该字符串转换为结构,然后调用以获得“示例词汇表”? 问题答案:

  • 我的程序需要一个函数,该函数从csv文件(“all.csv”)读取数据,并在特定日期提取与某个州有关的所有数据(提取其中包含“state name”和“date”的每一行),然后将提取的数据写入另一个名为:state.csv的csv文件 当数据被写入时,每个州在特定日期的病例数和死亡数被统计和合计。然后,该函数以元组形式返回总病例和死亡数(病例,死亡) 例如州=‘加利福尼亚’日期=‘2020-03

  • 本文向大家介绍Python 基础教程之str和repr的详解,包括了Python 基础教程之str和repr的详解的使用技巧和注意事项,需要的朋友参考一下 Python str和repr的详解 str可以将值转化为合理的字符串形式,以便用户可以理解; repr会以合法Python表达式的形式来表达值。 举例如下: 注意到,str表示一种类型,即字符串;repr则是一个函数。  如有疑问请留言或者到

  • 问题内容: 假设我有以下字符串: 是否有一些功能或模块可以将上述字符串转换为以下所有字符都更改为与url兼容的字符串: 在python中执行此操作的最佳方法是什么? 问题答案: Python 2的urllib.quote_plus和Python 3的urllib.parse.quote_plus 输出:

  • 问题内容: 我有一个包含unicode字符等的字符串,以某种方式不被我接收,但被作为接收。如何将其转换回unicode? 显然不是答案。那是什么 问题答案: Unicode转义仅适用于unicode字符串,因此 实际上是由6个字符组成的字符串:“ \”,“ u”,“ 2”,“ 0”,“ 2”,“ 6”。 要从中制作出unicode,请使用: