Int: примеры (PYTHON)

Преобразование в целое число с помощью функции int в Python
Раздел: Встроенные функции, Преобразование типов
int(x, base): int

Описание функции int в Python

Функция int() в Python выполняет преобразование переданного аргумента в целое число. Её применение актуально при необходимости получения целочисленного представления данных, поступающих в виде строк, чисел с плавающей точкой или объектов, поддерживающих соответствующий протокол.

Синтаксис функции: int(x=0, base=10). Первый аргумент x - объект для преобразования. Если он не указан, возвращается 0. Второй аргумент base - основание системы счисления для преобразования строки (от 2 до 36). По умолчанию равен 10. Для работы с base аргумент x должен быть строкой.

Возвращаемое значение - целое число типа int. Если передана строка с некорректными символами или пустая, возникает исключение ValueError.

Основные примеры использования

Преобразование чисел с плавающей точкой:

int(3.14)
3

Преобразование строки в десятичной системе:

int("42")
42

Преобразование строки из двоичной системы (base=2):

int("1010", 2)
10

Преобразование строки из шестнадцатеричной системы (base=16):

int("FF", 16)
255

Использование с отрицательными числами:

int("-15")
int(-7.8)
-15
-7

Похожие функции в Python

float() - преобразует аргумент в число с плавающей точкой. Применяется, когда требуется сохранить дробную часть.

round() - округляет число до указанного количества знаков после запятой, возвращая float или int. Полезно для математического округления.

math.trunc() - отбрасывает дробную часть, аналогично int() для положительных чисел, но всегда округляет к нулю.

decimal.Decimal() - обеспечивает точные десятичные вычисления, используется в финансовых расчётах.

Аналоги функции в других языках

JavaScript: parseInt() - преобразует строку в целое число с указанием системы счисления.

parseInt("10", 2);
2

PHP: intval() - возвращает целое значение переменной.

echo intval("42");
42

Java: Integer.parseInt() - преобразует строку в примитив int.

int num = Integer.parseInt("100");

C#: Convert.ToInt32() или int.Parse() - методы для конвертации.

int result = Convert.ToInt32("50");

Golang: strconv.Atoi() - преобразует строку в int, возвращая ошибку при неудаче.

num, err := strconv.Atoi("256")

Типичные ошибки при использовании

Передача строки с некорректными символами для указанной системы счисления:

int("12A", 10)
ValueError: invalid literal for int() with base 10: '12A'

Использование основания системы счисления с числом, не являющимся строкой:

int(10, 2)
TypeError: int() can't convert non-string with explicit base

Передача пустой строки:

int("")
ValueError: invalid literal for int() with base 10: ''

Преобразование слишком большого числа с плавающей точкой:

int(1e1000)
OverflowError: cannot convert float infinity to integer

Изменения в последних версиях Python

В Python 3.x функция int() потеряла синоним long, так как все целые числа теперь имеют неограниченную точность. В Python 3.6 добавлена поддержка подчёркиваний в числовых литералах строк для улучшения читаемости:

int("1_000_000")
1000000

Начиная с Python 3.8, в документации уточнено поведение при преобразовании объектов, реализующих метод __int__().

Расширенные примеры применения

Преобразование логических значений:

Пример python
int(True)
int(False)
1
0

Использование с объектами, имеющими метод __int__:

Пример python
class CustomNumber:
    def __int__(self):
        return 42

int(CustomNumber())
42

Чтение числа из строки с пробелами (требуется предварительная обработка):

Пример python
int("  25  ".strip())
25

Работа с разными системами счисления, включая максимальное основание 36:

Пример python
int("Z", 36)
int("1A", 16)
35
26

Использование для округления в сторону нуля (отбрасывание дробной части):

Пример python
int(-9.9)
import math
math.trunc(-9.9)
-9
-9

питон int function comments

En
Int Convert to integer