int

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

Синтаксис

int([x[, base]])

Аргументы

  • x (необязательный):
    • Что означает: Значение, которое нужно преобразовать в целое число.
    • Возможные значения: Число (вещественное, целое), строка, поддерживающая преобразование в целое число, или объект с методом __int__.
  • base (необязательный):
    • Что означает: Основание системы счисления, в которой представлено строковое значение x. Используется только при передаче строки.
    • Возможные значения: Целое число от 2 до 36. По умолчанию — 10.

Возвращаемое значение

Целое число, преобразованное из переданного значения. Если аргументы не указаны, возвращается 0.

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

# Преобразование строки в целое число
print(int("42"))  # 42
# Преобразование вещественного числа
print(int(3.14))  # 3 (дробная часть отбрасывается)
# Преобразование строки в другой системе счисления
print(int("1010", 2))  # 10 (бинарная система)
# Использование без аргументов
print(int())  # 0

Частые ошибки

  1. Передача строки, которая не является числом:

    print(int("abc"))  # Ошибка: ValueError
    

    Как исправить: Убедитесь, что строка содержит корректное числовое значение.

  2. Неверное указание основания системы счисления:

    print(int("1010", 37))  # Ошибка: ValueError
    

    Как исправить: Используйте значение основания от 2 до 36.

  3. Попытка преобразовать недопустимый тип:

    print(int([1, 2, 3]))  # Ошибка: TypeError
    

    Как исправить: Передавайте только строки, числа или объекты с методом __int__.

  4. Проблемы с вещественными числами:

    print(int("3.14"))  # Ошибка: ValueError
    

    Как исправить: Сначала преобразуйте строку в float, а затем в int:

    print(int(float("3.14")))  # 3
    

Часто задаваемые вопросы

  1. Что произойдёт, если не указать аргументы? Вернётся 0:

    print(int())  # 0
    
  2. Можно ли использовать int() для преобразования чисел с плавающей запятой? Да, дробная часть будет отброшена:

    print(int(5.99))  # 5
    
  3. Как работает int() с системами счисления? Для строк можно указать основание системы счисления (от 2 до 36):

    print(int("1A", 16))  # 26 (шестнадцатеричная система)
    
  4. Можно ли преобразовать булевые значения? Да, True преобразуется в 1, а False в 0:

    print(int(True))  # 1
    print(int(False))  # 0
    
  5. Что делать, если строка содержит дробное число? Используйте преобразование через float:

    print(int(float("3.14")))  # 3
    
  6. Работает ли int() с объектами? Да, если объект реализует метод __int__:

    class CustomNumber:
        def __int__(self):
            return 42
    
    print(int(CustomNumber()))  # 42