如何知道在Python中要添加多少反斜杠
如果我想在Python中显示其中三个,为什么需要在左侧添加5个反斜杠?如何计算反斜杠 通过添加如何知道在Python中要添加多少反斜杠,python,Python,如果我想在Python中显示其中三个,为什么需要在左侧添加5个反斜杠?如何计算反斜杠 通过添加r,可以使用“原始字符串”: print(r'"\\\Warning///"') 这有助于避免反斜杠的“转义”属性,python使用该属性来控制特殊字符的使用,反斜杠在大多数情况下被视为转义序列,因此,对于单个\的打印,需要根据 与标准C不同,所有无法识别的转义序列都保留在字符串中不变,即反斜杠保留在字符串中 由于\W不是有效的转义序列,\W按原样打印。另一方面,\打印为\ >>>
r
,可以使用“原始字符串”:
print(r'"\\\Warning///"')
这有助于避免反斜杠的“转义”属性,python使用该属性来控制特殊字符的使用,反斜杠在大多数情况下被视为转义序列,因此,对于单个
\
的打印,需要根据
与标准C不同,所有无法识别的转义序列都保留在字符串中不变,即反斜杠保留在字符串中
由于\W
不是有效的转义序列,\W
按原样打印。另一方面,\
打印为\
>>> print('\warning') # 1 \
\warning
>>> print('\\warning') # 2 \
\warning
>>> print('\\\warning') # 3 \
\\warning
>>> print('\\\\warning') # 4 \
\\warning
>>> print('\\\\\warning') # 5 \
\\\warning
>>> print('\\\\\\warning') # 6 \
\\\warning
>>>
所以\W
被打印为\\\W
然而,在Python3.6中,根据
在版本3.6中更改:无法识别的转义序列会产生弃用警告。在Python的未来版本中,它们将是一个语法错误
因此,在未来的python中,您的代码可能会给出SyntaxError。实际上,从技术上讲,您应该键入2n个反斜杠来表示其中的n个。在严格的语法中,反斜杠保留为转义字符,并具有特殊含义,即它不表示“反斜杠”。所以,我们从我们的角色集中取它来赋予它一个特殊的含义,那么如何表示一个纯粹的“反斜杠”?答案是用换行符的表示方式表示,即“\”代表反斜杠
键入5时会打印3个反斜杠的原因是:前4个反斜杠的解释如我上面所说,当涉及到第五个反斜杠时,解释器发现“\W”没有定义,因此它将第五个反斜杠视为普通反斜杠,而不是转义字符。这是解释器的高级便利功能,在其他版本的解释器或其他语言(特别是在更严格的语言中)中可能不正确。与标准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'
\
用于特殊字符,如'\n'
,'\t'
等。您应键入2n
或2n-1
\
以打印n
\
>>> print('\warning') # 1 \
\warning
>>> print('\\warning') # 2 \
\warning
>>> print('\\\warning') # 3 \
\\warning
>>> print('\\\\warning') # 4 \
\\warning
>>> print('\\\\\warning') # 5 \
\\\warning
>>> print('\\\\\\warning') # 6 \
\\\warning
>>>
\用于特殊字符,如
'\n'
,'\t'
等。。。因此\被编码为一个特殊字符,以及'\\'
。所以只要把你的钱加倍就行了。(有时不需要加倍就可以工作,但如果你总是加倍,它肯定会工作。)遵循这一点,它有很好的解释。原始字符串不一定工作:r“\”
是坏的。你是对的,我不知道。。。但它确实适用于OP想要的多个退格