字符串中的“\”是什么意思?

问题描述 投票:0回答:4

字符串中的“\”是什么意思?

例如:

>>> "\033"

输出是:

'\x1b'

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

最危险的是,如果你把它输入你的shell:

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

输出是:

True

显然,Python认为“\”是一个特殊的角色,但它是如何工作的?

python string python-3.x
4个回答
3
投票

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

请参阅Python使用的the escape sequences


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

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


1
投票

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

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

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


1
投票
\033

是esc和的八进制代码

\x1b

十六进制是一样的

检查man ascii


0
投票

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

例如:

print('the \'single quotes\' in this string are escaped!')
© www.soinside.com 2019 - 2024. All rights reserved.