如何用Python打印反斜杠?

Mic*_*ael 68 python python-2.7

我写的时候:

print '\'print "\"print "'\'"

Python不会打印反斜杠\符号.

我该怎么做才能得到预期的结果?

Buc*_*ket 77

你需要通过前面的反义词来逃避你的反斜杠,是的,另一个反斜杠:

print "\\"
Run Code Online (Sandbox Code Playgroud)

\角色称为转义字符,它以不同的方式解释跟随它的字符.例如,n它本身只是一个字母,但是当你在它前面加上一个反斜杠时,就会变成\n一个newline字符.

正如你可能猜到的那样,\也需要进行转义,因此它不像转义字符那样起作用.你必须......逃避逃跑,基本上.

  • 在Python 3中:`print('\\')` (6认同)
  • @Luke - [不正确](http://stackoverflow.com/questions/647769/why-cant-pythons-raw-string-literals-end-with-a-single-backslash). (5认同)

Pau*_* Bu 39

另一个线索,如果你想要完成比打印反弹更复杂的事情,你可以声明一个字符串raw(r在它前面和之前),它将按原样打印所有字符:

>>> s = r'\abc\def'
>>> print s
'\abc\def'
Run Code Online (Sandbox Code Playgroud)

这对正则表达式很有用.您可以在文档中找到更多信息.

  • @OmerDagan no :-)因为它认为你正在逃避引用以将其包含在字符串中. (4认同)
  • 尝试打印一个反斜杠时不起作用:`>>> print'\'` (2认同)

lel*_*man 7

你应该用另一个反斜杠来逃避它\

print('\\')
Run Code Online (Sandbox Code Playgroud)


And*_*ndy 7

需要使用另一个反斜杠转义反斜杠.

print '\\'
Run Code Online (Sandbox Code Playgroud)


Jea*_*bre 6

打印不涉及转义的反斜杠的一种骇人听闻的方法是将其字符代码传递给chr

>>> print(chr(92))
\
Run Code Online (Sandbox Code Playgroud)

  • 这是预期的并且众所周知,因为解释器会打印您可以复制/粘贴到程序中的内容(表示形式),而不是打印它(字符串转换)。请参阅“__str__”与“__repr__” (3认同)
  • 嘿伙计!!很好+1,这太叛逆了!然而,在交互式解释器中 `s = chr(92)` 是 `'\\'` 但当 `print(s)` 时给出的是 `\\` (2认同)