Содержание

Функции 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:

Главная » Основы

20.04.20210

Функция 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() с разными типами входных аргументов.

Содержание

  1. С числами
  2. С float
  3. Со строкой
  4. С bytes и bytearray
  5. С настраиваемым объектом
  6. Резюме

С числами

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 )

Васильев А.Н. / автор статьи

Помогаю в изучении Питона на примерах.

Автор практических задач с детальным разбором их решений.

Комментарии0 Поделиться:

Загрузка …

Функция int() в Python — Темы масштабирования

Обзор

Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int() в python. Преобразование одного типа данных в другой тип данных известно как приведение типов или преобразование типов.

Синтаксис int() в Python

Синтаксис метода int() в Python очень прост:

 
 int(значение, база)
 

Параметр value является обязательным, а параметр base необязательным.

Параметры int() в Python

Метод — int() в Python принимает два параметра, один необязательный, а другой обязательный. Параметры, указанные в int в python:

  1. значение: Параметр значения является обязательным параметром
    . Значение представляет собой число или строку, которые необходимо преобразовать в целочисленный объект.
  2. 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

AGEL

AGEL

print ( "age =" , int (возраст))

3 age4 =

4

3 Вывод:

30012

Пример 1: Работа с функцией int() в Python

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

Python3

print ( "int('9')) =" , int ( '9' ))

   

печать ( "int(9.9) =" , int ( 9.9 ))

   

print ( "int(9) =" , int ( 9 ))

Вывод:  

 int('9')) = 9
интервал (9,9) = 9
int(9) = 9 

Пример 2. Преобразование основания с помощью Python int()

Преобразование чисел из другого основания в десятичное с помощью Python int()

Python3

print ( "int() on 0o12 =" , int ( '0o12' , 8 ))

   

print ( "int() on 0b110 =" , int ( '0b110' , 2 ))

   

print ( "int() on 0x1A =" , int ( '0x1A' , 16 ))

Output : 

 int() на 0o12 = 10
int() на 0b110 = 6
int() on 0x1A = 26 

Python int() Exception and Errors 

TypeError : вызывает TypeError, когда какой-либо объект не имеет реализованных магических методов __int__() или __index__() Python.

ValueError: вызывает ValueError, когда какой-либо объект не может быть преобразован в целое число.

Example 1: Program to demonstrate TypeError when using int() function

Python3

print ( int ( 0b101 , 2 ))

Вывод:  

 TypeError: int() не может преобразовать нестроку с явным основанием 

Example 2: Program to demonstrate ValueError when using int() function

Python3

print ( int ( 'geeks' ))

Вывод:

 ValueError: неверный литерал для int() с основанием 10: «гики» 

Функция Python int() для пользовательских объектов

Пример 1: int() с функцией __int__()

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

Python3

class Number:

     value = 7

       

     def __int__( self ):

Возврат Self . Value

Data =

.0242

print ( "number =" , int (data))

Output:

 number = 7 

Example 2: int() с функцией __index__()

Функцию Python int() также можно использовать для любых объектов, имеющих реализацию функции __index__().