/
Вопросы и ответы
/
Python
/

Что делает функция int в Python?

Что делает функция int в Python?

4 года назад

Andrey Moshkov

Ответы

1

Встроенная в Python функция int() возвращает целое число в десятичной системе счисления. Синтаксис выглядит следующим образом:

1
int(x, base=10)

, где x число или строка, которую можно преобразовать в целое число, т.е. строка должна быть символьным представлением целого числа, в противном случае сгенерируется исключение типа ValueError.

1
2
3
4
5
6
print(int('45'))
# => 45
int('asd')
# => Traceback (most recent call last):
# => File "<stdin>", line 1, in <module>
# => ValueError: invalid literal for int() with base 10: 'asd'

base - необязательный аргумент: число, представляющее числовой формат системы счисления (по умолчанию: 10). Позволяет преобразовывать строку с определенным префиксом в целое число с учетом указанного основания системы счисления для двоичной ('0b'), восьмеричной ('0o') и шестнадцатеричной ('0x').

1
2
3
4
5
6
print(int("0xf", base = 16))
# => 15
print(int("0o11", base = 8))
# => 9
print(int("0b101", base = 2))
# => 5

Если передать функции целое число, то она вернет его же. Если передать вещественное (дробное) число, то оно будет округлено до целого в сторону нуля (отбрасывая дробную часть).

1
2
3
4
print(int(-10))
# => -10
print(int(10.87))
# => 10

Функция int() вызванная без аргументов вернет 0.

4 года назад

Дмитрий Ибрагимов

0

Функция int в Python используется для преобразования значений в целые числа. Она может принимать строковые или числовые значения в качестве аргументов.

Преобразование строки в целое число:

1
2
3
num = int("10")
print(num)
# Вывод: 10

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

1
2
3
num = int(10.99)
print(num)
# Вывод: 10

2 года назад

Elena Gromova

0

int() превращает значение в целое число. Чаще всего так переводят строку из input() в число, чтобы с ним можно было считать:

1
2
age = int(input("Возраст: "))   # ввод: 25
print(age + 1)                  # => 26

int — это и название типа целых чисел в Python: type(5) вернёт <class 'int'>.

Что умеет int()

ВызовРезультатЧто произошло
int("42")42строка → число
int(" 7 ")7пробелы по краям пропускаются
int(3.99)3дробная часть отбрасывается
int(-3.99)-3дробная часть отбрасывается в сторону нуля
int(True)1False даёт 0
int("1_000")1000подчёркивания в числе допустимы
int("ff", 16)255перевод из шестнадцатеричной системы
int()0без аргументов

int() не округляет

int() отбрасывает дробную часть. Для округления есть round():

1
2
print(int(2.7))     # => 2
print(round(2.7))   # => 3

Перевод из других систем счисления

Второй аргумент — основание системы:

1
2
3
int("1010", 2)   # => 10
int("17", 8)     # => 15
int("ff", 16)    # => 255

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

1
2
int("3.5")
# ValueError: invalid literal for int() with base 10: '3.5'

Строку с точкой сначала переводят в float: int(float("3.5")) вернёт 3.

1
2
int("abc")
# ValueError: invalid literal for int() with base 10: 'abc'

Проверить строку заранее можно методом isdigit() или поймать ошибку:

1
2
3
4
5
text = input()
try:
    n = int(text)
except ValueError:
    print("Нужно целое число")

Целые числа в Python

У int нет ограничения по размеру: Python посчитает 2 ** 1000 без переполнения. Размер числа ограничен памятью компьютера.

Типы данных и преобразования разбирают в бесплатном курсе «Основы Python».

6 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845