Что такое int в python
Перейти к содержимому

Что такое int в python

  • автор:

Функция int

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

Синтаксис

int(число или строка, [числовой формат])

Пример

Давайте с помощью функции int сделаем из строки число:

txt = ‘123’ num = int(txt) print(num) print(type(num))

Результат выполнения кода:

Пример

А теперь давайте из строчного значения сделаем число в восьмеричном формате:

txt = ‘0o12’ num = int(txt, base=8) print(num) print(type(num))

Результат выполнения кода:

Смотрите также

  • функция str ,
    которая создает строку
  • функция list ,
    которая создает список

Что такое int в Python?

В Python функция int предоставляет возможность преобразования объекта в целое число. Это полезный инструмент при работе с данными, полученными из пользовательского ввода или других источников, когда необходимо обеспечить корректность типов данных.

Синтаксис:

int(x, base=10)
  • x : Объект, который нужно преобразовать в целое число. Это может быть число, строка или другой объект, поддерживающий числовое представление.
  • base=10 : Необязательный параметр, указывающий основание системы счисления при преобразовании строки. По умолчанию используется десятичная система.

Пример использования:

# Преобразование строки в целое число number_str = "42" number_int = int(number_str) print("Целое число:", number_int)

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

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

Целые числа поддерживают следующие операции:

  • арифметические операции;
  • побитовые операции;
  • операции сравнения.

Тип int в языке Python представлен классом int() , он позволяет:

  • преобразовать строку в целое число типа int с учетом указанного основания системы счисления (десятичные по основанию 10, шестнадцатеричные по основанию 16, восьмеричные по основанию 8 и двоичные по основанию 2).
  • преобразовать вещественные числа типа float в тип int (отбрасывает дробную часть).
  • преобразовать восьмеричные, шестнадцатеричные и двоичные литералы целых чисел в тип int

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

  • числа типа complex , т.к. нет однозначного способа преобразования данного типа чисел.
  • строку с записью числа с плавающей точкой (вещественного числа)

Примеры преобразования объектов к типу int :

# Преобразование строки с записью # целого числа в десятичной форме к типу int >>> int(' -3 ', base=10) # 3 # При преобразовании десятичных литералов, # записанных в строки, основание можно опускать >>> int(' +5 ') # 5 >>> int(' -15_125') # -15125 # Преобразование типа float в тип `int` >>> int(3.23) # 3 >>> int(1.) # 1 >>> int(3.14e-10) # 0 # Восьмеричные литералы и строки с ними - в тип int >>> int(0o177) # 127 >>> int(' 0o177 ', base=8) # 127 # Шестнадцатеричные литералы и строки с ними - в тип int >>> int(0x9ff) # 2559 >>> int(' 0x9ff ', base=16) # 2559 # Двоичные литералы и строки с ними - в тип int >>> int(0b101010) # 42 >>> int('0b101010', base=2) # 42 

Начиная с Python 3.6, чтобы облегчить визуальную оценку величины числа, между цифрами и после любого спецификатора системы счисления разрешается вставлять одиночные символы подчеркивания.

>>> 100_000, 0x_FF_FF, 0o7_777 # (100000, 65535, 4095) 

Целые числа еще могут записываться как, шестнадцатеричные (по основанию 16), восьмеричные (по основанию 8) и двоичные (по основанию 2).

  • Шестнадцатеричные литералы начинаются с комбинации символов 0x или 0X, вслед за которыми следуют шестнадцатеричные цифры (0-9 и A-F). Шестнадцатеричные цифры могут вводиться как в нижнем, так и в верхнем регистре.
  • Литералы восьмеричных чисел начинаются с комбинации символов 0o или 0O (ноль и следующий за ним символ «o» в верхнем или нижнем регистре), вслед за которыми следуют восьмеричные цифры (0-7).
  • Двоичные литералы начинаются с комбинации символов 0b или 0B, вслед за которыми следуют двоичные цифры (0 – 1)

Все эти литералы создают объекты целых чисел, они являются всего лишь альтернативными формами записи значений. Для преобразования целого числа в строку с представлением в любой из трех систем счисления можно использовать встроенные функции hex() , oct() и bin()

Методы типа int :

int.bit_length() :

Возвращает количество битов, необходимых для представления целого числа в двоичном виде, исключая знак и начальные нули:

>>> n = -37 >>> bin(n) # '-0b100101' >>> n.bit_length() # 6 
def bit_length(self): # двоичное представление: bin(-37) => '- 0b100101' s = bin(self) # удалить начальные нули и знак минус s = s.lstrip('-0b') # len('100101') => 6 return len(s) 
int.bit_count() :

Добавлен в Python 3.10. Возвращает количество единиц в двоичном представлении абсолютного значения целого числа.

>>> n = 19 >>> bin(n) '0b10011' >>> n.bit_count() # 3 >>> (-n).bit_count() # 3 
def bit_count(self): return bin(self).count("1") 

Новое в Python 3.10.

int.to_bytes(length, byteorder, *, signed=False) :

Возвращает массив байтов, представляющих целое число. Параметры length , byteorder являются обязательными:
— length задает необходимое количество байтов,
— byteorder определяет в каком порядке возвращать байты и имеют значения ‘big’ — от старшего к младшему, ‘little’ — от младшего к старшему.
— signed позволяет установить использование дополнительного кода для представления целого числа. Если signed=False и задано отрицательное целое число, то бросается OverflowError .

>>> (1024).to_bytes(2, byteorder='big') # b'\x04\x00' >>> (1024).to_bytes(10, byteorder='big') # b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00' >>> (-1024).to_bytes(10, byteorder='big', signed=True) # b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00' >>> x = 1000 >>> x.to_bytes((x.bit_length() + 7) // 8, byteorder='little') # b'\xe8\x03' 

Если указанных байтов недостаточно для представления числа, то будет вызвано исключение OverflowError. Что бы узнать порядок байтов который использует платформа используйте sys.byteorder .

int.from_bytes(bytes, byteorder, *, signed=False) :

Возвращает целое число, которое соответствует указанному массиву байтов.
Параметры bytes и byteorder являются обязательными.
— bytes должен быть байто-подобным объектом (строки байтов, массивы байтов, array.array и т.д.)
— byteorder определяет в каком порядке возвращать байты и имеют значения ‘big’ — от старшего к младшему, ‘little’ — от младшего к таршему.
— signed позволяет установить использование дополнительного кода для представления целого числа. Если signed=False и задано отрицательное елое число, то бросается OverflowError .

>>> int.from_bytes(b'\x00\x7f', byteorder = 'big') # 127 >>> int.from_bytes(b'\x00\x7f', byteorder = 'little') # 32512 >>> int.from_bytes(b'\xff\x81', 'big', signed = True) # -127 >>> int.from_bytes([1, 0], 'big') # можно указать "массив" байтов # 256 >>> int.from_bytes([255, 255], 'big') # 65535 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Утиная типизация ‘Duck Typing’
  • Что такое вызываемый объект callable?
  • Как проверить тип переменной/объекта
  • Логический тип данных bool
  • Целые числа int
  • Ограничение длины преобразования целочисленной строки
  • Вещественные числа float
  • Комплексные числа complex
  • Типы последовательностей
  • Список list
  • Кортеж tuple
  • Диапазон range
  • Текстовые строки str
  • Словарь dict
  • Множество set и frozenset
  • Итератор Iterator, протокол итератора
  • Генератор generator и выражение yield
  • Контекстный менеджер with
  • Байтовые строки bytes
  • Байтовый массив bytearray
  • Тип memoryview, буфер обмена
  • Файловый объект file object
  • Универсальный псевдоним GenericAlias
  • Объект объединения Union

int(x, base=10)

Преобразует x к целому числу в десятичной системе счисления. Вместо десятичной системы можно указать любое основание от 2 до 36 включительно.

Параметры ¶

Функция int() принимает два параметра:

  • value — любая числовая строка, байтовый объект или число
  • base необязательный — система счисления, в которой в данный момент находится значение

Возвращаемое значение ¶

Функция int() возвращает:

  • целая часть числа — для одного значения аргумента (любое число)
  • 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: 94
int(58.23) is: 58
int('123') is: 123

Python с нуля. Освойте с Виртуальным ИИ-помощником!

Теоретические уроки и практические задачи
Пишите и проверяйте код прямо в браузере
Виртуальный ИИ-помощник поможет в любое время дня и ночи
Сообщество учеников для взаимопомощи и обмена опытом
200 000+ зарегистрированных участников. Присоединяйтесь!
Попробовать бесплатно
©2023 Letpy

Мы используем файлы cookie

Наш сайт использует файлы cookie для улучшения пользовательского опыта, сбора статистики и обеспечения доступа к обучающим материалам. Мы также передаем информацию об использовании вами нашего сайт партерам по социальным сетям, рекламе и аналитике. В свою очередь, наши партнеры могут объединять ее с другой предоставленной вами информацией, или с информацией, которую они собрали в результате использования вами их услуг.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *