您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python-为什么反斜杠出现两次?

Python-为什么反斜杠出现两次?

你们看到的是代表的my_string由它的创建__repr__()方法。如果您进行打印,则可以看到实际上有一个反斜杠,如您所愿:

>>> print(my_string)
why\does\it\happen?

下面的字符串中包含三个字符,而不是四个:

>>> 'a\\b'
'a\\b'
>>> len('a\\b')
3
您可以使用repr()内置函数获取字符串(或任何其他对象)的标准表示形式:

>>> print(repr(my_string))
'why\\does\\it\\happen?'

Python在字符串中表示反斜杠,\\因为反斜杠是转义字符-例如,\n表示换行符和\t表示制表符。

有时这会给您带来麻烦:

>>> print("this\text\is\not\what\it\seems")
this    ext\is
ot\what\it\seems
因此,需要有一种方法告诉Python您确实需要两个字符\n而不是换行符,并且可以通过转义反斜杠本身和另一个来做到这一点:

>>> print("this\\text\is\what\you\\need")
this\text\is\what\you\need

当Python返回字符串的表示形式时,它将起到安全的作用,转义所有反斜杠(即使它们不会成为转义序列的一部分),这就是您所看到的。但是,字符串本身仅包含单个反斜杠。

python 2022/1/1 18:24:24 有173人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶