" \"字符串是什么意思?
例如:
>>> "\033"
输出结果为:
'\x1b'
如果您尝试打印字符串,则结果是奇怪的正方形
最令人沮丧的是,如果你把它输入你的shell:
>>> "\033" == "\x1b"
输出结果为:
True
显然,Python会考虑" \"作为一个特殊的角色,但它是如何运作的?
答案 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!')