Функция int() в Python
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
Анализ кода:
- При преобразовании числа с плавающей запятой в целое число дробная часть просто отбрасывается (округление в сторону нуля), а не округляется до ближайшего целого.
- Логические значения
TrueTrue преобразуется в 1, аFalseFalse преобразуется в 0. - При преобразовании строки ведущие и завершающие пробельные символы автоматически удаляются.
Пример 2: Преобразование системы счисления
int()Поддерживается преобразование строк в разных системах счисления в десятичные целые числа.
Примеры
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()У него много сценариев применения в реальном программировании, например обработка пользовательского ввода, очистка данных и так далее.
Примеры
# Предположим, пользователь ввёл "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