Функции int. Программирование на Python
В языке программирования Python встроенная функция int()
возвращает целое число (экземпляр класса int) в десятичной системе счисления. Если преобразовать переданный в функцию первый или единственный аргумент в десятичное число не удается, то генерируется исключение ValueError
.
Если вызвать функцию int()
без аргументов, она вернет 0.
>>> int() 0
Чаще всего функции int()
передают один аргумент, который может быть либо строкой, либо числом. Строки должны быть символьными представлениями целого числа, иначе будет выброшено исключение.
>>> int('4') 4 >>> int('3a') Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> 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 "<pyshell#37>", line 1, in <module> int('101.1') ValueError: invalid literal for int() with base 10: '101.1'
Чтобы преобразовать дробное число в строковом представлении в целое число, сначала можно использовать функцию float()
int()
.>>> int(float('15.76')) 15
В случае, когда указывается второй аргумент для функции 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 "<stdin>", line 1, in <module> ValueError: int() base must be >= 2 and <= 36, or 0
Для двоичной, восьмеричной и шестнадцатеричной систем счисления можно использовать префиксы. Если такое представление числа заключается в кавычки, то второй аргумент обязателен.
>>> int(0b11) 3 >>> int(0o10) 8 >>> int(0xA5) 165 >>> int('0b11') Traceback (most recent call last): File "<pyshell#48>", line 1, in <module> 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
значения и как преобразовать на примерах
Перейти к контенту
Search for:
Главная » Основы
0
Функция int() в Python возвращает целочисленный объект из указанного ввода. Возвращаемый объект int всегда будет в базе 10.
Синтаксис функции int():
class int(x=0, base=10)
Некоторые важные моменты для функции int():
- Если аргумент не указан, функция int() вернет 0.
- Если указан целочисленный буквальный аргумент, базу указывать не следует. Возвращенный объект int будет десятичным, даже если аргумент имеет шестнадцатеричный, двоичный или любой другой формат.
- Для аргумента с плавающей запятой десятичная точка будет усечена, и будет возвращено значение типа int. Округление производиться не будет.
- Если аргумент – строка, он будет преобразован в int. Если строковый аргумент не находится в базе 10, необходимо указать базу.
- Базовый аргумент может быть предоставлен только для строки, байтов и аргументов байтового массива. Допустимые значения: от 0 и от 2 до 36.
- Мы также можем использовать int() с настраиваемым объектом, в этом случае будет вызвана функция object __int __(). Если функция __int __() не определена, будет вызвана функция __trunc __(). Если ни один из них не определен, будет выброшено TypeError.
Давайте рассмотрим примеры функции int() с разными типами входных аргументов.
- С числами
- С float
- Со строкой
- С bytes и bytearray
- С настраиваемым объектом
- Резюме
С числами
x = int() print(type(x)) print(x) print(int(0xF)) print(int(0b111))
Вывод:
<class 'int'> 0 15 7
С float
x = int(10. 043) print(x) x = int(10.8901) print(x)
Вывод:
10 10
Обратите внимание, что возвращается целая часть числа с плавающей запятой, округление не выполняется.
Со строкой
x = int("5") print(x) x = int("-0xf", base=16) print(x) x = int("0b111", base=2) print(x)
Вывод:
5 -15 7
С bytes и bytearray
x = int(bytes("-0xf", "utf-8"), 16) print(x) x = int(bytearray("-20", "utf-8")) print(x)
Вывод:
-15 -20
С настраиваемым объектом
class Emp: id = 0 def __int__(self): print('__int__ function called') return self.id def __trunc__(self): print('__trunc__ function called') return self.id x = Emp() x.id = 100 print(int(x))
Вывод:
__int__ function called 100
Если мы прокомментируем функцию __int__, то вывод будет:
__trunc__ function called 100
Если мы прокомментируем обе функции __int__ и __trunc__, то получим следующую ошибку.
TypeError: int() argument must be a string, a bytes-like object or a number, not 'Emp'
Резюме
Функция Python int() используется для преобразования строки, байтов, массива байтов и объектов в объект типа int. Целое число всегда возвращается в базе 10. Мы можем получить то же значение, напрямую вызвав функцию object .__ int __().
Рейтинг
( 4 оценки, среднее 4 из 5 )
Васильев А.Н. / автор статьи
Помогаю в изучении Питона на примерах.
Загрузка …
Функция int() в Python — Темы масштабирования
Обзор
Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int() в python. Преобразование одного типа данных в другой тип данных известно как приведение типов или преобразование типов.
Синтаксис int() в Python
Синтаксис метода int() в Python очень прост:
int(значение, база)
Параметр value является обязательным, а параметр base необязательным.
Параметры int() в Python
Метод — int() в Python принимает два параметра, один необязательный, а другой обязательный. Параметры, указанные в int в python:
- значение: Параметр значения является обязательным параметром
. Значение представляет собой число или строку, которые необходимо преобразовать в целочисленный объект. - base: базовый параметр , необязательный . Указанное значение по умолчанию равно 10. Значение по основанию 10 напоминает число с базовым адресом 10, т. е. десятичные числа.
Мы можем указать базовый тип числа, отличный от 10, например,
- 8 для восьмеричного числа (для преобразования восьмеричного числа в эквивалентное десятичное число).
- 16 для шестнадцатеричного числа (для преобразования шестнадцатеричного числа в эквивалентное десятичное число).
- 2 для двоичного числа (для преобразования двоичного числа в эквивалентное десятичное число).
Возвращаемые значения int() в Python
int в python возвращает целочисленный объект значение заданной строки или числа с плавающей запятой. Если мы не укажем никакого параметра в методе, он вернет 0.
Исключение int() в Python
Int() в python вызывает ошибку всякий раз, когда мы передаем тип данных, отличный от строки или целого числа. Например, если мы попытаемся привести список к типу, используя int в python. Будет напечатана следующая ошибка:
TypeError: аргумент int() должен быть строкой, байтовым объектом или числом, а не списком.
Это исключение, вызванное int() в python, известно как TypeError . Обратитесь к теме этой статьи — Еще пример , чтобы узнать больше об исключениях.
Пример
Преобразуем число с плавающей запятой в целое, используя метод int() в python.
float_number = 5,5 целое_число = целое (плавающее_число) print("Целое число равно:",integer_number)
Вывод:
Целое число: 5
Что такое int() в Python?
Как мы знаем, преобразование одного типа данных в другой известно как приведение типов или преобразование типов.
Мы можем преобразовать любую строку в целое число, используя встроенный метод Python, называемый методом int(). Метод int() принимает строковый или целочисленный тип данных и преобразует данные данные в целое число.
Как использовать int() в Python?
Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int в python. Int в Python — это встроенный метод, который преобразует строку или число в целое число. Мы также можем использовать int в python для преобразования двоичных чисел в десятичные числа, шестнадцатеричных чисел в десятичные числа и восьмеричных чисел в десятичные числа.
Метод int вызывает ошибку, если в качестве параметра задан нестроковый или нецелочисленный тип данных. Возникшая ошибка называется TypeError .
Дополнительные примеры
Давайте рассмотрим несколько примеров, чтобы лучше понять метод int в Python.
Пример исключения в int
Давайте попробуем преобразовать список в целое число, используя int в python. Как мы узнали, мы можем преобразовать только строку или число в целое число.
чисел = [1, 2, 3] целое_число = целое (числа) print("Целое число:", integer_number)
Вывод:
TypeError: аргумент int() должен быть строкой, байтовым объектом или действительным числом, а не списком. целое_число = целое (числа) Строка 2 в(Solution.py)
Как int() работает в Python?
Давайте попробуем преобразовать строку в целое число, используя int в python.
string_numbers = "11" целое_число = целое (строковые_числа) print("Целое число:", integer_number)
Вывод:
Целое число: 11
Как int() работает с двоичными, восьмеричными и шестнадцатеричными числами?
Давайте попробуем преобразовать двоичное, восьмеричное и шестнадцатеричное число в целые числа, используя int в python.
двоичное_число = "1010" print("Эквивалентное значение int для 1010(двоичного):", int(binary_number, 2)) восьмеричное_число = "12" print("Эквивалентное целое число для 12(восьмеричное):", int(octal_number, 8)) шестнадцатеричное_число = "А" print("Эквивалентное целое число для A(шестнадцатеричное) равно", int(шестнадцатеричное_число, 16))
Вывод
Эквивалентное целое число для 1010 (двоичный): 10 Эквивалентное целое для 12 (восьмеричное): 10 Эквивалентное целое для A (шестнадцатеричное) равно 10
int() для пользовательских объектов
Давайте попробуем преобразовать объект с именем Student в целое число, используя int в python.
класс Студент: рулон_номер = 51 защита __int__(я): вернуть self.roll_number Студент = Студент () print('Преобразованный int(Student):', int(Student))
Вывод:
Преобразование int(студент): 51
Примечание:
Внутри int в python вызывает метод int() , который является методом объекта. Таким образом, мы можем преобразовать объект в целочисленный объект, используя int в python.
Нам нужно только переопределить метод int() , чтобы класс возвращал целочисленный класс.
Заключение
- Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int в python.
- Преобразование одного типа данных в другой известно как приведение типов или преобразование типов.
- Функция int() в python принимает два параметра и возвращает эквивалентное целое число. Его синтаксис: int(значение, база)
- Параметр value является обязательным, но базовый параметр необязателен.
- Всякий раз, когда мы передаем тип данных, отличный от строки или целого числа, int в python вызывает ошибку. Возникшая ошибка известна как TypeError .
Подробнее:
- Приведение типов в Python.
Функция Python int() — GeeksforGeeks
Функция Python int() возвращает целое число из заданного объекта или преобразует число в заданной системе счисления в десятичное.
Python int() Синтаксис функции:
Синтаксис: int(x, base)
- x [необязательно]: строковое представление целочисленного значения, по умолчанию равно 0, если значение не указано.
- база [опционально]: (целочисленное значение) основание числа.
Возврат: ВОЗВРАТ ДЕЗИМАЛЬНОЙ (базовая 10) представление X
Python Int () Пример:
Python3
|
3 age4 =
4
3 Вывод:
30012 Пример 1: Работа с функцией int() в Python Демонстрация использования функции Python int() для различных типов данных в Python.
Python3
|
Вывод:
int('9')) = 9 интервал (9,9) = 9 int(9) = 9
Пример 2. Преобразование основания с помощью Python int()
Преобразование чисел из другого основания в десятичное с помощью Python int()
Python3
|
Output :
int() на 0o12 = 10 int() на 0b110 = 6 int() on 0x1A = 26Python int() Exception and Errors
TypeError : вызывает TypeError, когда какой-либо объект не имеет реализованных магических методов __int__() или __index__() Python.
ValueError: вызывает ValueError, когда какой-либо объект не может быть преобразован в целое число.
Example 1: Program to demonstrate TypeError when using int() functionPython3
|
Вывод:
TypeError: int() не может преобразовать нестроку с явным основанием
Example 2: Program to demonstrate ValueError when using int() function
Python3
|
Вывод:
ValueError: неверный литерал для int() с основанием 10: «гики»
Функция Python int() для пользовательских объектов
Пример 1: int() с функцией __int__()
Python int( ) можно использовать для любых объектов, имеющих реализацию функции __int__().
Python3
|
Output:
number = 7
Example 2: int() с функцией __index__()
Функцию Python int() также можно использовать для любых объектов, имеющих реализацию функции __index__().