Цілі літерали
Оновлено: 28.04.2023
Цілі літерали описуються такими лексичними визначеннями:
integer ::= decinteger | bininteger | octinteger | hexinteger
decinteger ::= nonzerodigit (["_"] digit)* | "0"+ (["_"] "0")*
bininteger ::= "0" ("b" | "B") (["_"] bindigit)+
octinteger ::= "0" ("o" | "O") (["_"] octdigit)+
hexinteger ::= "0" ("x" | "X") (["_"] hexdigit)+
nonzerodigit ::= "1"..."9"
digit ::= "0"..."9"
bindigit ::= "0" | "1"
octdigit ::= "0"..."7"
hexdigit ::= digit | "a"..."f" | "A"..."F"
Немає обмежень щодо довжини цілочисельних літералів, крім того, що може зберігатися у доступній пам’яті.
Підкреслення ігноруються для визначення числового значення літералу. Їх можна використовувати для групування цифр для кращої читабельності. Одне підкреслення може бути між цифрами та після основних специфікаторів, таких як 0x.
Зауважте, що нулі на початку ненульового десяткового числа не допускаються. Це для усунення неоднозначності з вісімковими літералами у стилі C, які Python використовував до версії 3.0.
Деякі приклади цілих літералів:
7 2147483647 0o177 0b100110111
3 79228162514264337593543950336 0o377 0xdeadbeef
100_000_000_000 0b_1110_0101