int(x, base=10)
Преобразует x к целому числу в десятичной системе счисления. Вместо десятичной системы можно указать любое основание от 2 до 36 включительно.
Параметры ¶
Функция int() принимает два параметра:
- value — любая числовая строка, байтовый объект или число
- base необязательный — система счисления, в которой в данный момент находится значение
Возвращаемое значение ¶
- целая часть числа — для одного значения аргумента (любое число)
- 0 — без аргументов
- целочисленное представление числа с заданным основанием (0, 2, 8, 10, 16)
Примеры ¶
# int() с целочисленным значениемprint("int(94) is:", int(94)) # int() со значением с плавающей запятойprint("int(58.23) is:", int(58.23)) # int() с числовым строковым значениемprint("int('123') is:", int("123")) # Результат: int(94) is: 94int(58.23) is: 58int('123') is: 123
Мы используем файлы cookie
Наш сайт использует файлы cookie для улучшения пользовательского опыта, сбора статистики и обеспечения доступа к обучающим материалам. Мы также передаем информацию об использовании вами нашего сайт партерам по социальным сетям, рекламе и аналитике. В свою очередь, наши партнеры могут объединять ее с другой предоставленной вами информацией, или с информацией, которую они собрали в результате использования вами их услуг.
Функция int
В языке программирования Python встроенная функция int() возвращает целое число (экземпляр класса int ) в десятичной системе счисления. Если преобразовать переданный в функцию первый или единственный аргумент в десятичное число не удается, то генерируется исключение ValueError .
Если вызвать функцию int() без аргументов, она вернет 0.
Чаще всего функции int() передают один аргумент, который может быть либо строкой, либо числом. Строки должны быть символьными представлениями целого числа, иначе будет выброшено исключение.
>>> int('4') 4 >>> int('3a') Traceback (most recent call last): File "", line 1, in int('3a') ValueError: invalid literal for int() with base 10: '3a'
Если передать функции целое число, то она вернет его же. Если передать вещественное число, то оно будет округлено до целого в сторону нуля (т. е. дробная часть будет отброшена).
>>> int(87) 87 >>> int(-103) -103 >>> int(234.879) 234 >>> int(-0.3) 0 >>> int(-0.9) 0
Попытка преобразовать строку, содержащую вещественное число, в целое число с помощью функции int() вызывает ошибку.
>>> int('101.1') Traceback (most recent call last): File "", line 1, in int('101.1') ValueError: invalid literal for int() with base 10: '101.1'
Чтобы преобразовать дробное число в строковом представлении в целое число, сначала можно использовать функцию float() , затем int() .
В случае, когда указывается второй аргумент для функции int() , первый всегда должен быть строкой. С помощью второго аргумента сообщается, в какой системе счисления находится число, указанное в строке первого аргумента. Функция int() возвращает его значение в десятичной системе счисления.
>>> int('12', 8) 10 >>> int('13h', 20) 477 >>> int('111001', 2) 57
Основание системы счисления не должно превышать 36.
>>> int('w0y', 36) 41506 >>> int('w0y', 37) Traceback (most recent call last): File "", line 1, in ValueError: int() base must be >= 2 and
Для двоичной, восьмеричной и шестнадцатеричной систем счисления можно использовать префиксы. Если такое представление числа заключается в кавычки, то второй аргумент обязателен.
>>> int(0b11) 3 >>> int(0o10) 8 >>> int(0xA5) 165 >>> int('0b11') Traceback (most recent call last): File "", line 1, in int('0b11') ValueError: invalid literal for int() with base 10: '0b11' >>> int('0b11', 2) 3
В классах функцию int() переопределяют методы __int__() , __index__() , __trunc__() .
>>> class A: . a = 'H' . def __int__(self): . return ord(self.a) . >>> obj = A() >>> int(obj) 72 >>> obj.a = '!' >>> int(obj) 33
Подробно про int() в Python
Метод int() в Python возвращает целочисленный объект из любого числа или строки.
Параметры
Функция принимает два аргумента:
- x – число или строка, которые нужно преобразовать в целочисленный объект. Аргумент по умолчанию равен нулю.
- base – основание числа в x. Может быть 0 (буквальный код) или 2-36.
Возвращаемое значение
- целочисленный объект из данного числа или строки обрабатывает базу по умолчанию как 10;
- возвращает 0 (без параметров);
- обрабатывает строку в заданной базе (0, 2, 8, 10, 16).
Пример 1
# integer print("int(123) is:", int(123)) # float print("int(123.23) is:", int(123.23)) # string print("int('123') is:", int('123'))
int(123) is: 123 int(123.23) is: 123 int('123') is: 123
Пример 2: Как работает для десятичных, восьмеричных и шестнадцатеричных чисел?
# binary 0b or 0B print("For 1010, int is:", int('1010', 2)) print("For 0b1010, int is:", int('0b1010', 2)) # octal 0o or 0O print("For 12, int is:", int('12', 8)) print("For 0o12, int is:", int('0o12', 8)) # hexadecimal print("For A, int is:", int('A', 16)) print("For 0xA, int is:", int('0xA', 16))
For 1010, int is: 10 For 0b1010, int is: 10 For 12, int is: 10 For 0o12, int is: 10 For A, int is: 10 For 0xA, int is: 10
Пример 3: Для пользовательских объектов
Внутри функция вызывает метод объекта __int __().
Таким образом, даже если объект не является числом, вы можете преобразовать его в целочисленный объект.
Вы можете сделать это, переопределив методы __index __() и __int __() класса для возврата числа.
Эти два метода должны возвращать то же значение, поскольку более старые версии Python используют __int __(), а более новые используют метод __index __().
class Person: age = 23 def __index__(self): return self.age def __int__(self): return self.age person = Person() print('int(person) is:', int(person))