Позволяет преобразовать число или строку с числом в тип int.
Синтаксис:
Параметры:
x
- число или строка,base
- числовой формат, по умолчанию 10.
Возвращаемое значение:
Описание:
Класс
int()
возвращает целочисленный объект, созданный из числа или строки
x
, или возвращает
0
, если аргументы не заданы.
- Если
x
определяет __int__()
, то int(x)
возвращает x.__int__()
. - Если
x
определяет __index__()
, то он возвращает x.__index__()
. - Если
x
определяет __trunc__()
, то он возвращает x.__trunc__()
. - Для чисел с плавающей запятой это усекается до нуля.
Если аргумент не число или если задан числовой формат base
, то аргумент должен быть строкой, байтами, или экземпляром bytearray
, представляющим литерал целого числа по основанию base
. Литералу может предшествовать +
или -
без пробела между ними и может окружать пробелами.
Литерал с основанием n
состоит из цифр от 0 до n-1, где числа от a
до z
(или от A
до Z
) имеют значения от 10
до 35
.
По умолчанию base=10
. Допустимые значения 0 и от 2 до 36. Основания 2, 8, и 16 могут иметь необязательные префиксы 0b
/0B
, 0o
/0O
или 0x
/0X
соответственно. Основание base=0
означает интерпретацию x
точно, как литерал кода, таким образом int('010', 0)
не является правильным, в то время как int('010')
верно, а также верно int('010', 8)
.
*Изменено в Python 3.4: если base
не является экземпляром int
и у базового объекта есть метод base.__index__
, то он вызывается для получения целого числа для base
. Предыдущие версии использовались base.__int__
вместо base.__index__
.
*Изменено в Python 3.6: допускается группировка цифр с подчеркиванием, как в литералах кода.
*Изменено в Python 3.7: x
теперь является позиционным параметром.
*Изменено в Python 3.8: Откат к __index__()
если __int__()
не определен.
Изменено в Python 3.11: строковые входные данные и представления строк могут быть ограничены, чтобы избежать атак типа "
отказ в обслуживании". Когда превышен предел при преобразовании строки
x
в целое число или когда преобразование целого числа в строку превысит предел => поднимается исключение
ValueError
. Смотрите "
Ограничение длины преобразования целочисленной строки".
Примеры преобразований чисел и строк в тип int
.
a = int(3.5)
b = int(12.9)
c = int('3')
d = int(' -3 ')
f = int('0b11', 2)
y = int('0o12', base=8)
z = int('0xa', base=16)
print(a, b, c, d, f, y, z)
# Вывод
3, 12, 3, -3, 10, 10, 10