当前位置: 首页 > 面试题库 >

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

严瀚昂
2023-03-14
问题内容

当我创建一个包含反斜杠的字符串时,它们会重复:

>>> my_string = "why\does\it\happen?"
>>> my_string
'why\\does\\it\\happen?'

为什么?


问题答案:

你们看到的是代表的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中打印时反斜杠出现两次?,包括了为什么在Python中打印时反斜杠出现两次?的使用技巧和注意事项,需要的朋友参考一下 反斜杠是转义字符。它用于转义引号,双引号,换行符等字符。当我们打印包含反斜杠的字符串时,我们会看到两次,因为还需要反斜杠来自身转义。这意味着我们正在告诉解释器此反斜杠仅用作反斜杠,而不用作转义符。例如, 输出值

  • 问题内容: 我已经使用了很长时间了,到目前为止我还没有遇到任何问题。现在,我正在使用上传脚本,并且尝试在文件上传后返回一些JSON数据。 我有以下代码: 这给了我以下结果: 谁能告诉我为什么加斜杠? 更新 @Quentin说,事情是发生之间和与他的权利。 做一个给我以下结果: 这不是有效的JSON。它还添加,我不知道它来自哪里。 可能对我返回的数据有影响吗? 这是我的js脚本: 问题答案: 谁能告

  • 问题内容: python中反斜杠b的用途是什么,我在python解释器中运行了 打印“ \” foo \ bar” ,并得到以下结果: 问题答案: 请参阅字符串文字文档: ASCII退格键(BS) 它产生一个 退格字符 。打印该字符时,终端会在第二秒上退格。

  • 本文向大家介绍Python中的左斜杠、右斜杠(正斜杠和反斜杠),包括了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的使用技巧和注意事项,需要的朋友参考一下 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下

  • Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em> 标签),你可以在星号的前面加上反斜杠: \*literal asterisks\* Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号: \ 反斜线 ` 反引号 * 星号 _ 底线 {} 花括号 [] 方括号 () 括