793578477 发表于 2020-6-26 12:07:40

python基础原始字符串r的问题

各位鱼友大哥,原始字符串运行后为什么多一个反斜杠呢?

str=r'C:\now'
运行后:
str
'C:\\now'



为什么不是直接显示原来的字符串'C:\\now'呢?

793578477 发表于 2020-6-26 12:08:29

为什么不是直接显示原来的字符串'C:\now'呢?

Twilight6 发表于 2020-6-26 12:31:29

本帖最后由 Twilight6 于 2020-6-26 12:32 编辑



这就是原来的字符串,因为 \ 在 Python 中是用来转义用的,一个转义字符 \ 是无法进行输出的

在 Python 中,如果转义字符 \ 后面不是一个合法的转义字符,那么,Python会打印两个 \

也就是此时 Python 将 \ 也当成普通字符看待,而不是转义符的标志,自己将自己转义了

wswz2020 发表于 2020-6-26 13:37:31

Twilight6 发表于 2020-6-26 12:31
这就是原来的字符串,因为 \ 在 Python 中是用来转义用的,一个转义字符 \ 是无法进行输出的

在 Pyt ...

您好,是不是可以这样理解,\在python里是用来转义的,不能当做普通字符来看待,如果非要把它当成普通字符输出,就可以用\把它自己转义成普通字符?

Twilight6 发表于 2020-6-26 13:43:10

wswz2020 发表于 2020-6-26 13:37
您好,是不是可以这样理解,\在python里是用来转义的,不能当做普通字符来看待,如果非要把它当成普通字 ...

对的~~

比如 换行符 \n 这个算一个字符 而不是两个字符串

wswz2020 发表于 2020-6-26 13:58:46

Twilight6 发表于 2020-6-26 13:43
对的~~

比如 换行符 \n 这个算一个字符 而不是两个字符串

明白了,谢谢~~~

Twilight6 发表于 2020-6-26 14:00:51

wswz2020 发表于 2020-6-26 13:58
明白了,谢谢~~~

没事~ 客气了

793578477 发表于 2020-6-26 16:16:34

wswz2020 发表于 2020-6-26 13:37
您好,是不是可以这样理解,\在python里是用来转义的,不能当做普通字符来看待,如果非要把它当成普通字 ...

感谢参与讨论呀,理解再次加深啦

793578477 发表于 2020-6-26 16:17:20

Twilight6 发表于 2020-6-26 12:31
这就是原来的字符串,因为 \ 在 Python 中是用来转义用的,一个转义字符 \ 是无法进行输出的

在 Pyt ...

感谢鱼友大哥,嘿嘿理解明白啦~~~

Twilight6 发表于 2020-6-26 16:18:35

793578477 发表于 2020-6-26 16:17
感谢鱼友大哥,嘿嘿理解明白啦~~~

{:10_297:}

wswz2020 发表于 2020-6-27 12:09:24

793578477 发表于 2020-6-26 16:16
感谢参与讨论呀,理解再次加深啦

不客气哈,我也是来向前辈学习的。
页: [1]
查看完整版本: python基础原始字符串r的问题