Функция int() в Python

Python3 内置函数Встроенные функции Python3


int()Это одна из наиболее часто используемых встроенных функций в Python, используемая для преобразования данных других типов в целочисленный тип.

В программировании нам часто нужно преобразовывать данные таких типов, как строки, числа с плавающей запятой или другие типы, в целые числа для численных вычислений или сравнений.int()Эта функция может помочь нам легко выполнить это преобразование.

Определение слова: intДаintegerСокращение от (integer), обозначающее целочисленный тип.


Базовый синтаксис и параметры

int()Это встроенная функция, которую можно вызывать напрямую без импорта каких-либо модулей.

Формат синтаксиса

int(x)
int(x, base)

Описание параметра

  • Параметр x:
    • Тип: строка, число или другой объект, преобразуемый в целое число
    • Описание: значение для преобразования в целое число. Если x — строка, основание можно указать в параметре base.
  • Параметр base(необязательный):
    • Тип: целое число (2, 8, 10, 16)
    • Описание: основание x, по умолчанию 10 (десятичное). Допустимо только если x — строка.

Описание функций

  • Возвращаемое значение: возвращает целочисленный объект.
  • Особые случаи:
    • int()Возвращает 0 при вызове без аргументов
    • Числа с плавающей точкой округляются вниз (усекаются в сторону нуля)
    • Строка должна быть допустимым числовым представлением

Примеры

Давайте с помощью серии примеров от простого к сложному тщательно освоимint()использование int().

Пример 1: Базовое использование - Преобразование чисел

Примеры

# Преобразовать из числа с плавающей точкой
print(int(3.7))      # Вывод: 3
print(int(-3.7))     # Вывод: -3

# Преобразовать из логического значения
print(int(True))     # Вывод: 1
print(int(False))    # Вывод: 0

# Преобразовать из строки
print(int("42"))     # Вывод: 42
print(int("  10  ")) # Вывод: 10 (пробельные символы удаляются автоматически)

Ожидаемый вывод:

3
-3
1
0
42
10

Анализ кода:

  1. При преобразовании числа с плавающей запятой в целое число дробная часть просто отбрасывается (округление в сторону нуля), а не округляется до ближайшего целого.
  2. Логические значенияTrueTrue преобразуется в 1, аFalseFalse преобразуется в 0.
  3. При преобразовании строки ведущие и завершающие пробельные символы автоматически удаляются.

Пример 2: Преобразование системы счисления

int()Поддерживается преобразование строк в разных системах счисления в десятичные целые числа.

Примеры

# Двоичная строка (начинается с 0b)
print(int("1010", 2))   # Вывод: 10

# Восьмеричная строка (начинается с 0o)
print(int("12", 8))     # Вывод: 10

# Шестнадцатеричная строка (начинается с 0x)
print(int("a", 16))     # Вывод: 10
print(int("FF", 16))    # Вывод: 255

# Строка с префиксом
print(int("0b1010", 2)) # Вывод: 10
print(int("0o12", 8))   # Вывод: 10
print(int("0xff", 16))  # Вывод: 255

Ожидаемый вывод:

10
10
10
255
10
10
255

Анализ кода:

  • Второй параметр задаёт основание системы счисления строки: 2 означает двоичную, 8 — восьмеричную, а 16 — шестнадцатеричную.
  • Строка может иметь префикс (например,0b, 0o, 0x), или может быть без него.
  • В шестнадцатеричном формате a-f могут быть в верхнем или нижнем регистре.

Пример 3: Распространённые сценарии применения

int()У него много сценариев применения в реальном программировании, например обработка пользовательского ввода, очистка данных и так далее.

Примеры

# Обработка пользовательского ввода (input возвращает строку)
# Предположим, пользователь ввёл "100"
user_input = "100"
price = int(user_input)
print(f"Цена товара: {price} yuan")  # Вывод: Цена товара: 100 yuan

# Числовые строки, прочитанные из файла
numbers_str = ["10", "20", "30"]
numbers = [int(n) for n in numbers_str]
print(numbers)  # Вывод: [10, 20, 30]

# Вычислить общую сумму
total = sum(numbers)
print(f"Итого: {total}")  # Вывод: Итого: 60

# Обработка строки с десятичными числами (сначала преобразовать в float, затем в int)
price_str = "19.99"
price = int(float(price_str))
print(f"Цена (округлённая): {price} yuan")  # Вывод: Цена (округлённая): 19 yuan

Ожидаемый вывод:

商品价格: 100 元
[10, 20, 30]
总和: 60
价格(取整): 19 元

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


Python3 内置函数Встроенные функции Python3


Другие расширения