它在哪里说 0x 前缀使文字以十六进制为底?
Where does it say that 0x prefix makes literals hex base?
我知道我可以在 Python 中写入 0x1230FF
并且它将是一个值为 1192191 的文字 int。但是我在官方文档或 PEP 中找不到任何指定这是允许的,并且 0x
确实表示十六进制基数。
我能找到的最接近的是 PEP-3127 Integer Literal Support and Syntax,它主要讨论八进制和二进制。它提出了一些有趣的建议,例如
Suggestions were made to use a "c" (the second letter of "oCtal"), or even to use a "t" for "ocTal" and an "n" for "biNary" to go along with the "x" for "heXadecimal".
有人可以提供 link 官方规范吗?
请注意,我不是在谈论字符串格式,而是数字文字的语法。
此处的文档:https://docs.python.org/3/reference/lexical_analysis.html#integer-literals
指定十六进制整数文字由 0
后跟 x
或 X
后跟一个或多个十六进制数字和下划线组成。
hexinteger ::= "0" ("x" | "X") (["_"] hexdigit)+
我知道我可以在 Python 中写入 0x1230FF
并且它将是一个值为 1192191 的文字 int。但是我在官方文档或 PEP 中找不到任何指定这是允许的,并且 0x
确实表示十六进制基数。
我能找到的最接近的是 PEP-3127 Integer Literal Support and Syntax,它主要讨论八进制和二进制。它提出了一些有趣的建议,例如
Suggestions were made to use a "c" (the second letter of "oCtal"), or even to use a "t" for "ocTal" and an "n" for "biNary" to go along with the "x" for "heXadecimal".
有人可以提供 link 官方规范吗?
请注意,我不是在谈论字符串格式,而是数字文字的语法。
此处的文档:https://docs.python.org/3/reference/lexical_analysis.html#integer-literals
指定十六进制整数文字由 0
后跟 x
或 X
后跟一个或多个十六进制数字和下划线组成。
hexinteger ::= "0" ("x" | "X") (["_"] hexdigit)+