Python字符串中,raw字符串与repr的区别
2017-12-18 17:54
267 查看
在Python中,对于一个字符串,设原字符串为:
str1 = '''{
...
quote = " \" "
...
}'''
如题,如果处理时直接读取字符串,那么quote对应的\"字符将会被转义为一个”,这可能不是我们想要的结果。
为了保存\"两个字符,考虑对该字符串用raw和repr,得到的结果是不同的
使用repr(str1),得到的结果将会把所有的转义字符都保留,包括用户手动写的(如\")以及输入字符串时排版的字符(如\t\n),得到结果如下:
print(str1)
'''{\n...quote = """...\n}‘’’
然而,在repr处理时,\"并没有被保留下来,而是经过处理之后,变成转义字符,也就是说,在给str1赋值时,这个\"就已经被转义了
raw方法则不同,它并没有处理字符串,而是单纯地抑制了字符串的转义,如果str1定义时写成:
str1 = r'''{
...
quote = " \" "
...
}'''
那么最后str1中,\”就被储存下来,实际上,它的储存形式是 \\\"
str1 = '''{
...
quote = " \" "
...
}'''
如题,如果处理时直接读取字符串,那么quote对应的\"字符将会被转义为一个”,这可能不是我们想要的结果。
为了保存\"两个字符,考虑对该字符串用raw和repr,得到的结果是不同的
使用repr(str1),得到的结果将会把所有的转义字符都保留,包括用户手动写的(如\")以及输入字符串时排版的字符(如\t\n),得到结果如下:
print(str1)
'''{\n...quote = """...\n}‘’’
然而,在repr处理时,\"并没有被保留下来,而是经过处理之后,变成转义字符,也就是说,在给str1赋值时,这个\"就已经被转义了
raw方法则不同,它并没有处理字符串,而是单纯地抑制了字符串的转义,如果str1定义时写成:
str1 = r'''{
...
quote = " \" "
...
}'''
那么最后str1中,\”就被储存下来,实际上,它的储存形式是 \\\"
相关文章推荐
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
- python repr、str、反引号值转化为字符串区别
- python 学习(一) 中文,字符串,以及input和raw_input区别
- python str和repr的区别
- 浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
- python 内建函数 str() 和 repr() 的区别
- Python raw_input和input总结 在版本2和版本3中的区别
- 【Python】Python input和raw_input的区别
- python的raw_input与print的区别实例
- python字符串前缀 u和r的区别
- Python中input和raw_input的一点区别
- Python中raw字符串与多行字符串
- python在处理CSV文件时,字符串和列表写入的区别
- python中raw_input() 与 input() 的区别
- python中str()和repr()区别
- python str和repr的区别
- Python中input和raw_input在命令行中读入文件地址的区别
- python中raw_input 和 input的区别
- python input 与raw_input函数的区别
- python 内置函数 input() 和 raw_input() 的区别?