Сообщить об ошибке.

Класс int() в Python, преобразует в тип int.

Позволяет преобразовать число или строку с числом в тип int.

Синтаксис:

int(x)
int(x, base=10)

Параметры:

  • 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