什么是" \"字符串是什么意思?

时间:2018-03-06 02:50:50

标签: python string python-3.x

" \"字符串是什么意思?

例如:

>>> "\033"

输出结果为:

'\x1b'

如果您尝试打印字符串,则结果是奇怪的正方形

最令人沮丧的是,如果你把它输入你的shell:

>>> "\033" == "\x1b"

输出结果为:

True

显然,Python会考虑" \"作为一个特殊的角色,但它是如何运作的?

4 个答案:

答案 0 :(得分:3)

这是由八进制数033表示的字符 在十进制中,该数字为27 在十六进制中,该数字为0x1b

请参阅Python使用的the escape sequences

  

但如果你打印它,你会得到一个小方块。有什么解释吗?

您的平台最有可能使用ASCII编码。在ASCII编码中,数字27表示ESC字符。它不是一个可打印的角色。您的终端打印一个小方块。其他终端可能会为其打印不同的符号。

答案 1 :(得分:1)

这是一个字符串转义。它们有很多用途,详细here。特别是你看到字节值的八进制和十六进制表示。

  

\ ooo具有八进制值的字符ooo(1,3)

     

\ xhh十六进制值hh(2,3)

的字符

答案 2 :(得分:1)

\033

esc

的八进制代码
\x1b

与十六进制相同

检查man ascii

答案 3 :(得分:0)

反斜杠是一个转义字符。例如,如果要打印带引号的字符串,则需要转义字符串中的引号,以便它们不会结束字符串。

例如:

print('the \'single quotes\' in this string are escaped!')