我怎么知道在Python中添加多少反斜杠

时间:2017-08-02 05:33:37

标签: python

  

如果我想在Python中显示三个反斜杠,为什么我需要在左边添加5个反斜杠?如何计算反斜杠?

# [ ] print "\\\WARNING!///"
print('"\\\\\Warning///"')

6 个答案:

答案 0 :(得分:1)

您可以通过添加r

来使用“原始字符串”
print(r'"\\\Warning///"')

这有助于避免反斜杠的“转义”属性,python用它来控制特殊字符的使用

答案 1 :(得分:1)

反斜杠大部分时间都被视为转义序列,因此打印单个ostream需要使用ostream

答案 2 :(得分:1)

根据https://docs.python.org/2.0/ref/strings.html

  

与标准C不同,所有未识别的转义序列都保留在字符串中不变,即反斜杠保留在字符串中。

由于newArr[ChargeTypeId].push("Date",Date); newArr[ChargeTypeId].push("NoOfRoomsAvailable",NoOfRoomsAvailable); 不是有效的转义序列,因此\W按原样打印。另一方面,\W打印为\\

因此\打印为\\\\\W

然而,在python 3.6中,根据Strings and bytes literals

  

版本3.6中已更改:无法识别的转义序列会生成DeprecationWarning。在Python的某个未来版本中,它们将是一个SyntaxError。

所以你的代码可能在将来的python中给出了SyntaxError。

答案 3 :(得分:1)

与标准C不同,任何无法识别的转义序列在python中保持不变。

>>> print('\test')
'    est'  # '\t' evaluates to tab + 'est'

>>> print('\\test')
'\test'  # '\\' evaluates to literal '\' + 'test'

>>> print('\\\test')
'\    est'  # '\\' evaluates to literal '\' + '\t' evaluates to tab + 'est'

>>> print('\\\\test')
'\\test'  # '\\' evaluates to literal '\' + '\\' evaluates to literal '\' + 'test'

答案 4 :(得分:0)

实际上你应该输入2n反斜杠来表示其中的n个,技术上。在严格的语法中,反斜杠被保留为转义字符并具有特殊含义,即它不代表"反斜杠"。所以,我们从我们的角色集中获取它给它一个特殊的意义然后如何表示一个纯粹的反斜杠"?答案代表了换行符所代表的方式,即' \'代表反斜杠。

当你输入5时你得到3个反斜杠的原因是:前4个被解释为我上面所说的,当涉及到第5个时,解释器发现没有#39的定义; \ W'所以它将第五个反斜杠视为普通反斜杠而不是转义字符。这是解释器的一个高级便利功能,在其他版本或其他语言中可能不正确(特别是在更严格的版本中)。

答案 5 :(得分:0)

\用于'\n''\t'等特殊字符。您应该输入2n2n-1 \进行打印{{ 1}} n

\