Hello World!的代码输出如何。
equals
输出:print("\110\145\154\154\157\40\127\157\162\154\144\41")
答案 0 :(得分:1)
根据docs中的转义序列列表,\ooo
代表一个八进制值ooo
的字符
因此,如果我们考虑第一个字符\110
,则它是八进制值110
或整数值72
(即H
的字符,如下所示< / p>
In [25]: print('\110')
H
In [26]: chr(0o110)
Out[26]: 'H'
In [27]: chr(72)
Out[27]: 'H'
In [28]: 0o110 == 72
Out[28]: True
类似地,可以争论其他字符,并且可以理解打印代码Hello World
的原因
答案 1 :(得分:0)
我从这张IBM® IBM Knowledge Center拍摄了这张图片,并突出显示了一些需要打印Hello World!
的字符。
因此,您要从八进制值打印ASCII字符。我们怎么知道八进制还是非八进制?检查下表(从rdrr.io中获得,并提供了一些示例,您也可以从String and Bytes literals中的Python Documentation中找到它)
+-------------------------------------------------------------------+
| \n | newline |
| \r | carriage return |
| \t | tab |
| \b | backspace |
| \a | alert (bell) |
| \f | form feed |
| \v | vertical tab |
| \\ | backslash \ |
| \' | ASCII apostrophe ' |
| \" | ASCII quotation mark " |
| \` | ASCII grave accent (backtick) ` |
| \nnn | character with given octal code (1, 2 or 3 digits) |
| \xnn | character with given hex code (1 or 2 hex digits) |
| \unnnn | Unicode character with given code (1--4 hex digits) |
| \Unnnnnnnn | Unicode character with given code (1--8 hex digits) |
+-------------------------------------------------------------------+
根据上表中的\
格式,您在每个反冲(\nnn
)之后提供了两位或三位数,它是八进制值。
'H' --> 110
'e' --> 145
'l' --> 154
'l' --> 154
'o' --> 157
' ' --> 40
'W' --> 127
'o' --> 157
'r' --> 162
'l' --> 154
'd' --> 144
'!' --> 41
这些是您用来打印Hello World!
的八进制值,您也可以从十六进制值打印它。
>>> print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21") # \xnn format
Hello World!