Содержание

Python INT () Функция — pythobyte.com

Автор оригинала: Chris.

Встроенный Python int (значение) Функция преобразует аргумент ценность до целочисленного числа. Например, int ('42 ') Преобразует строковое значение '42' в целое число 42 Отказ int () Функция на поплавком аргументе округляется до ближайшего целого числа.

АргументценитьОбъект Python будет преобразован в целочисленное число. Объект Value должен иметь метод __int __ (), который возвращает связанный целочисленный номер – в противном случае будет поднят тип yumpeRor.
базаДополнительный целочисленный аргумент базы для определения основания численной системы в аргументе значений. Если вы устанавливаете основание, аргумент значения должен быть строкой. Базовый аргумент определяет, как интерпретация строкового аргумента.
Возвращаемое значениеint.
Возвращает целочисленное число после преобразования значения аргумента ввода, используя его необходимый метод __int __ () для преобразования.
Input : int('42')
Output : 42
Input : int('-42')
Output : -42
Input : int(0)
Output : 0
Input 
: int(3.41) Output : 3 Input : int(3.51) Output : 3 Input : int('101', base=2) Output : 5

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Python int () Округление

int (x) Функция на плавательном значении х раунды к ближайшему целым числу.

>>> int(3.41)
3
>>> int(3.
51) 3 >>> int(3.9999) 3

Python int () Пользовательский объект

Чтобы позволить пользовательскому объекту в качестве ввода к int (объект) Функция, объект должен реализовать __int __ (Я) Dumper Метод, который возвращает целочисленное значение. На самом деле, int (объект) Встроенная функция семантически эквивалентна объект .__ int __ () Функциональный вызов.

class Car: def __int__(self): return -1 porsche = Car() print(int(porsche)) # -1

В примере вы создаете класс Автомобиль и внедрить __init __ (Я) Метод, который всегда возвращает целое число -1. Таким образом, вы можете пройти Автомобиль объект Porsche в int () Функция и Python не бросают исключение.

Говоря о которых…

Python INT () Исключение

Если вы проходите объект в int () Функция, которая не перезаписывает __int __ () Способ, например, список, кортеж или Set-Python бросает в систему:

class Car:
    None
porsche = Car()
print(int(porsche))

Это приводит к сообщению об ошибке:

Traceback (most recent call last): File "C:\Users\. ..\code.py", line 6, in print(int(porsche)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'Car'

Чтобы исправить ошибку, либо пропустите объект, который находится в целом или реализует свой собственный __int __ (Я) Метод, как показано ранее:

class Car:
    def __int__(self):
        return -1
porsche = Car()
print(int(porsche))
# -1

Обратите внимание, что то же самое Типеррор Похоже, если вы попытаетесь преобразовать Списки , наборы , Словари или кортежи целочисленные значения, используя int () функция.

Списки:

>>> int([1, 2, 3]) Traceback (most recent call last): File "", line 1, in int([1, 2, 3]) TypeError: int() argument must be a string, a bytes-like object or a number, not 'list' #10>

Наборы:

>>> int({1, 2, 3}) Traceback (most recent call last): File "", line 1, in int({1, 2, 3}) TypeError: int() argument must be a string, a bytes-like object or a number, not 'set' #11>

Словари:

>>> int({'Alice': 23, 'Bob': 17})
Traceback (most recent call last):
  File "", line 1, in 
    int({'Alice': 23, 'Bob': 17})
TypeError: int() argument must be a string, a bytes-like object or a number, not 'dict'
#12>

Кортежи:

>>> int((1, 2, 3))
Traceback (most recent call last):
  File "", line 1, in 
    int((1, 2, 3))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'#13>

Python INT () Базовый аргумент

int (значение,) Функция имеет дополнительный аргумент база Это позволяет определить основу численной системы в ценить аргумент Если вы установите базу, вход должен быть строкой. база Аргумент определяет, как интерпретируется строковый аргумент. Например, int ('10 ',) преобразует строку '10' – предпринимает двоичное число – целое число 2.

>>> int('10', base=2) 2

Резюме

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

Например, int ('42 ') Преобразует строковое значение '42' в целое число 42 Отказ

>>> int('42')
42

int () Функция на поплавок аргумент раунды до ближайшего целого числа.

>>> int(3.99)
3

Хотите улучшить свои навыки Python? Проверьте наши бесплатные чис-листы Python:

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь. SyntaxError: invalid token

Двоичные числа состоят из префикса 0b (или 0B) и двоичных цифр: \(0\) и \(1\):

>>> 0b0, 0b1, 0b10, 0b111, 0b10001010001110111011001
(0, 1, 2, 7, 4529625)

Восьмеричные числа начинаются с префикса 0o (0O) и могут содержать только восьмиричные цифры: \(0\), \(1\), \(2\), \(3\), \(4\), \(5\), \(6\) и \(7\):

>>> 0o0, 0o1, 0o10, 0o77, 0o12345670
(0, 1, 8, 63, 2739128)

Шестнадцатеричные числа начинаются с префикса 0x (0X) и могут содержать как все десятичные цифры, так и символы латинского алфавита: a, b, c, d, e, f (или A, B, C, D, E, F), которые в данном случае выступают в роли цифр:

>>> 0x0, 0x1, 0x10, 0xabcdf, 0x10f0a5d34a
(0, 1, 16, 703711, 72756876106)

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

Кстати, благодаря встроенной функции int() мы можем перевести в десятичную систему счисления, любое число представленное в другой системе счисления с основанием меньшим \(37\). Интересующее число указывается в виде строки в первом аргументе, а система счисления в котором оно представлено в виде целого числа во втором аргументе:

>>> int('111', 2)
7
>>> int('111', 3)
13
>>> int('111', 8)
73
>>> int('111', 16)
273
>>> int('1az', 36)
1691

Арифметические операции

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

ОперацияРезультатЗамечание
1x ** yвозводит x в степень y(I)
2pow(x, y[, z])возводит x в степень y по модулю z, где z – необязательный аргумент(I)
3divmod(x, y)возвращает кортеж с парой чисел (x // y, x % y)(II)
4x. conjugate()возвращает \(\bar{x}\) — число, которое комплексно сопряжено с \(x\)
5complex(re, im)преобразует re в комплексное число (по умолчанию im = 0)(VI)
6float(x)преобразует x в вещественное число (число с плавающей точкой)(VI)
7int(x)переобразует x в целое число, представленное в десятичной системе счисления(V)(VI)
8abs(x)абсолютное значение (модуль) числа x
9+xделает число x положительным
10-xделает число x отрицательным
11x % yостаток от деления x на y(II)
12x // yрезультат целочисленного деления x на y(III) (II)
13x / yрезультат «истинного» деления x на y(IV)
14x * yпроизведение x и y
15x - yразность x и y
16x + yсумма x и y

Важно: приоритет математических операций выше побитовых логических операций и операций сравнения.

Замечания:

I. возведение \(0\) в степень \(0\) возвращает \(1\):

>>> 0**0, pow(0, 0)
(1, 1)

Извлечение корней четной степени из отрицательных чисел не вызывает ошибки, а возвращает комплексное число:

>>> (-1)**0.5
(6.123233995736766e-17+1j)
>>> 
>>> pow(-25, 1/4)
(1.5811388300841898+1.5811388300841895j)

II. функция divmod() и операция %, // не работают для комплексных чисел. Для вас это может быть и очевидно, но не пользователя для которого вы пишите программу.

III. если оба числа типа int то и результат будет типа int. Данная операция всегда возвращает целое число, т.е. если число x можно представить в виде d*y + r, то x//y = d (r – остаток от деления). Так же следует иметь ввиду, что результат данной операции всегда округляется в сторону минус бесконечности:

>>> 1//2, (-1)//2, 1//(-2), (-1)//(-2)
(0, -1, -1, 0)

Это немного сбивает с толку, но проверив результат по формуле x = d*y + r, вы убедитесь что все верно.

IV. даже если оба числа типа int, то результат все равно будет преобразован к типу float.

V. встроенная функция int() пропускает числа (объекты) типа int «как есть», не выполняя над ними, абсолютно никаких действий.

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


Логические побитовые операции

Фактически, если число можно перевести в двоичную систему счисления, значит его можно рассматривать как двоичные данные. Учитывая, что такие данные состоят из нулей и единиц, которые интерпретируются как логические значения True и False, мы можем выполнять над ними логические операции. Логические операции выполняются по отдельным битам соответствующих разрядов. Если в операции учавствуют числа с разным количеством разрядов, то недостающие разряды дополняются нулями слева.

Данные операции могут быть выполнены, только над целыми числами. Если в выражении или в результате операции имеются отрицательные числа, то они представляются в виде дополнительного кода. Например, мы знаем, что результатом логического оператора ~ (побитовое НЕ) примененного, скажем, к числу 0b111 должно быть число 0b000, но вместо этого мы видим число дополнительный код которого соответствует данной операции:

>>> bin(7)
'0b111'
>>> ~7
-8
>>> bin(-8)
'-0b1000'

В таблице перечислены все побитовые операции в порядке убывания их приоритета:

ОперацияРезультатЗамечание
1~xинвертирование битов x(I)
2x >> nсдвиг битов числа x вправо на n разрядов(II)(III)
3x << nсдвиг битов числа x влево на n разрядов(II)(IV)
4x & yпобитовое И чисел x и y
5x ^ yпобитовое исключающее ИЛИ чисел x и y
6x | yпобитовое ИЛИ чисел x и y

Важно: приоритет побитовых операций ниже математически, но выше операций сравнения.

Замечания:

I. унарные операции ~, + и - имеют одинаковый приоритет.

II. отрицательное значение в выражеиях x << n и x >> n приведет к ошибке и вызовет исключение ValueError.

III. операция x << n эквивалентна команде x*pow(2, n), но проверка переполнения в этой команде не выполняется:

>>> 7 << 3, 7*pow(2, 3)
(56, 56)

IV. операция x >> n эквивалентна команде x // pow(2, n), но проверка переполнения в этой команде не выполняется:

>>> 63 >> 3, 63//pow(2, 3)
(7, 7)

Операции сравнения

Для сравнения чисел, доступно \(8\) операций сравнения, причем все они имеют одинаковый приоритет:

ОперацияРезультатЗамечание
1x < yTrue если x меньше y, иначе False
2x <= yTrue если x меньше или равно y, иначе False
3x > nTrue если x больше y, иначе False
4x >= nTrue если x больше или равно y, иначе False
5x == yTrue если x равно y, иначе False
6x != yTrue если x не равно y, иначе False
7x is yTrue если x и y это один и тот же объект, иначе False
8x is not yTrue если x и y это не один и тот же объект, иначе False

Важно: приоритет операций сравнения ниже математических и побитовых операций.

Наряду с оператором сравнения значений чисел == и !=, в Python имеются операторы is и is not, которые позволяют выяснить, являются сравниваемые значения одним и тем же объектом или нет. Например:

>>> a = 1001
>>> b = 1000 + 1
>>> 
>>> a == b
True
>>> 
>>> a is b, a is not b
(False, True)

Не смотря на то, что значения a и b равны, в памяти компьютера они хранятся как разные объекты:

>>> id(a), id(b)
(3071801680, 3071801728)

Однако, придумать для данного оператора сколь-нибудь полезное практическое применение, относительно математических операций я не могу.

В Python сравнение x > y and y > z является эквивалентным x > y > z т.е. сравнения связаные оператором and в произвольные цепочки могут быть записаны в более компактной форме. Выполнение таких выражений начинается слева направо и останавливается как только будет получено первое значение False. Это означает, что если в выражении x > y > z сравнение x > y вернет False то сравнение y > z выполняться не будет.


Методы целых чисел

Целые числа – это объекты, которые обладают следующими методами:

int.bit_length()¶
возвращает количество бит, которое необходимо для представления числа в памяти, без учета знака и незначащих нулей:
>>> x = 204
>>> bin(x)
'0b11001100'
>>> 
>>> x.bit_length()
8
>>> 
>>> (-0b000000000000001).bit_length()
1
int.to_bytes(length, byteorder, *, signed=False)¶
возвращает массив байтов, который соответствует данному числу:

Параметр length задает необходимое количество байтов, а byteorder определяет в каком порядке возвращать байты: значение 'big' – от старшего к младшему, 'little' – от младшего к старшему. Оба параметра являются обязательными:

>>> (129).to_bytes(2, byteorder = 'big')
b'\x00\x81'
>>> 
>>> (129).to_bytes(5, 'big')
b'\x00\x00\x00\x00\x81'
>>> 
>>> (129).to_bytes(5, 'little')
b'\x81\x00\x00\x00\x00

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

Параметр signed позволяет установить использование дополнительного кода для отрицательных целых чисел:

>>> (127).to_bytes(2, 'big', signed = True)
b'\x00\x7f'
>>> 
>>> (-127).to_bytes(2, 'big', signed = True)
b'\xff\x81'

Если signed = False, а число является отрицательным, то будет вызвано исключение OverflowError.

classmethod int.from_bytes(bytes, byteorder, *, signed=False)¶
возвращает целое число, которое соответствует указанному массиву байтов.

Параметры bytes и byteorder являются обязательными. bytes — должен быть байто-подобным объектом (строки байтов, массивы байтов, array.array и т.д.). Описание параметров byteorder и signed смотрите в int.to_bytes():

>>> 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

Встроенные функции.

Урок 15 курса «Python. Введение в программирование»

Язык Python включает много уже определенных, то есть встроенных в него, функций. Программист не видит их определений, они скрыты где-то в «недрах» языка. Достаточно знать, что эти функции принимают и что возвращают, то есть их интерфейс.

Ряд встроенных функций, касающихся ввода-вывода и типов данных, мы уже использовали. Это print(), input(), int(), float(), str(), bool(), type(). Перечень всех встроенных в Python функций можно найти в официальной документации по языку: https://docs.python.org/3/library/functions.html .

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

  • функции для работы с символами – ord(), chr(), len()

  • математические функции – abs(), round(), divmod(), pow(), max(), min(), sum()

Функция ord() позволяет получить номер символа по таблице Unicode. Соответственно, принимает она в качестве аргумента одиночный символ, заключенный в кавычки:

>>> ord('z')
122
>>> ord('ф')
1092
>>> ord('@')
64

Функция chr() выполняет обратное действие. Она позволяет получить символ по его номеру:

>>> chr(87)
'W'
>>> chr(1049)
'Й'
>>> chr(10045)
'✽'

Чтобы не путать ord() и chr(), помните, что функция – это действие. Ее имя как бы отвечает на вопрос «Что сделать?». Order – это порядок. Значит, мы хотим получить порядковый номер элемента в ряду. А чтобы получить номер, должны передать символ. Character – это символ. Значит, мы хотим получить символ. Поэтому должны передать порядковый номер.

Функция len() в качестве аргумента принимает объект, который состоит из более простых объектов, количество которых она подсчитывает. Числа – это простые объекты, их нельзя передавать в len(). Строки можно:

>>> len('abc')
3
>>> s1 = '------'
>>> s2 = '_______'
>>> len(s1) > len(s2)
False
>>> len(s1)
6
>>> len(s2)
7

Кроме строк в len() можно передавать другие, еще не изученные нами, структуры данных.

Функция abs() возвращает абсолютное значение числа:

>>> abs(-2.2)
2.2
>>> abs(9)
9

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

>>> a = 10/3
>>> a
3.3333333333333335
>>> round(a,2)
3.33
>>> round(a)
3

Если второй аргумент не задан, то округление идет до целого числа. Есть одна специфическая особенность этой функции. Второй аргумент может быть отрицательным числом. В этом случае округляться начинают единицы, десятки, сотни и т. д., то есть целая часть:

>>> round(5321, -1)
5320
>>> round(5321, -3)
5000
>>> round(5321, -4)
10000

Функция именно округляет согласно правилу округления из математики, а не отбрасывает. Поэтому 5 тысяч неожиданно округляются до десяти.

>>> round(3.76, 1)
3.8
>>> round(3.72, 1)
3.7
>>> round(3.72)
4
>>> round(3.22)
3

Если нужно просто избавиться от дробной части без округления, следует воспользоваться функцией int():

>>> int(3.78)
3

Нередко функцию round() используют совместно с функцией print(), избегая форматирования вывода:

>>> a = 3.45673
>>> print("Number: %.2f" % a)
Number: 3.46
>>> print("Number:", round(a,2))
Number: 3.46

В последнем случае код выглядит более ясным.

Функция divmod() выполняет одновременно деление нацело и нахождение остатка от деления:

>>> divmod(10, 3)
(3, 1)
>>> divmod(20, 7)
(2, 6)

Возвращает она кортеж, извлечение данных из которого мы пока не изучали. В других языках нередко встречаются две отдельные функции: div() и mod(). Первая делит нацело, вторая находит остаток от целочисленного деления (деления по модулю). В Python и многих других языках для этого используются специальные символы-операнды:

>>> 10 // 3
3
>>> 10 % 3
1

Функция pow() возводит в степень. Первое число – основание, второе – показатель:

>>> pow(3, 2)
9
>>> pow(2, 4)
16

То же самое можно проделать так:

>>> 3**2
9
>>> 2**4
16

Однако pow() может принимать третий необязательный аргумент. Это число, на которое делится по модулю результат возведения в степень:

>>> pow(2, 4, 4)
0
>>> 2**4 % 4
0

Преимуществом первого способа является его более быстрое выполнение.

Функции max(), min() и sum() находят соответственно максимальный, минимальный элемент и сумму элементов аргумента:

>>> max(10, 12, 3)
12
>>> min(10, 12, 3, 9)
3
>>> a = (10, 12, 3, 10)
>>> sum(a)
35

В sum() нельзя передать перечень элементов, должна быть структура данных, например, кортеж. В min() и max() также чаще передают один так называемый итерируемый объект:

>>> max(a)
12
  1. Напишите программу, которая циклично запрашивает у пользователя номера символов по таблице Unicode и выводит соответствующие им символы. Завершает работу при вводе нуля.

  2. Напишите программу, которая измеряет длину введенной строки. Если строка длиннее десяти символов, то выносится предупреждение. Если короче, то к строке добавляется столько символов *, чтобы ее длина составляла десять символов, после чего новая строка должна выводиться на экран.

  3. Напишите программу, которая запрашивает у пользователя шесть вещественных чисел. На экран выводит минимальное и максимальное из них, округленные до двух знаков после запятой. Выполните задание без использования встроенных функций min() и max().

Примеры решения и дополнительные уроки в android-приложении и pdf-версии курса

Функция Python int() — GeeksforGeeks

Функция Python int() возвращает целое число из заданного объекта или преобразует число в заданном основании в десятичное.

Python int() Синтаксис функции:

Синтаксис: int(x, base)

  • x [необязательный]: строковое представление целочисленного значения, по умолчанию равно 0, если значение не указано.
  • основание [необязательно]: (целочисленное значение) основание числа.

Returns: Return decimal (base-10) representation of x

Python int() Function Example:

Python3

age = "21"

print ( "Возраст =" , INT (возраст))

Выход:

.    

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

Python3

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

   

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

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

Output :  

 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( ) на 0x1A =" , INT ( '0x1a' , 16 ))

Выход: 9005

   

. 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

Данные = Номер () 0038

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

Output:

 number = 7 

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

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

Python3

,

38

(данные))

класс Номер:

     value = 7

       

     def __index__( self ):

         return self .value

 

данные = Число()

печать ( "число ="

Вывод:

 число = 7 

Применение: во всех стандартах 0 0 0 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 . Обратитесь к теме этой статьи — More Example , чтобы узнать больше об исключениях.

Пример

Преобразуем число с плавающей запятой в целое, используя метод int() в python.

 
 float_number = 5,5
целое_число = целое (плавающее_число)
print("Целое число равно:",integer_number)
 

Вывод:

 
 Целое число: 5
 

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

Как известно, преобразование одного типа данных в другой известно как приведение типов или преобразование типов.

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

Как использовать int() в Python?

Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int в python. Int в Python — это встроенный метод, который преобразует строку или число в целое число. Мы также можем использовать int в python для преобразования двоичных чисел в десятичные числа, шестнадцатеричных чисел в десятичные числа и восьмеричных чисел в десятичные числа.

Метод int вызывает ошибку, если в качестве параметра задан нестроковый или нецелочисленный тип данных. Возникшая ошибка называется Ошибка типа .

Дополнительные примеры

Давайте рассмотрим несколько примеров, чтобы лучше понять метод 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(Student): 51
 

Примечание:

Внутренне int в python вызывает метод int() , который является методом объекта. Таким образом, мы можем преобразовать объект в целочисленный объект, используя int в python.

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

Заключение

  • Чтобы преобразовать указанное значение (любое число или строку) в целочисленный объект, мы используем int в python.
  • Преобразование одного типа данных в другой известно как приведение типов или преобразование типов.
  • Функция int() в python принимает два параметра и возвращает эквивалентное целое число. Его синтаксис: int(значение, база)
  • Параметр value является обязательным, но базовый параметр необязателен.
  • Всякий раз, когда мы передаем тип данных, отличный от строки или целого числа, int в python вызывает ошибку. Возникшая ошибка известна как TypeError .

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

Программирование на Python — один из самых простых языков программирования в настоящее время. Обработка типов данных сама по себе является одним из важных аспектов этого. Однако, если мы принимаем ввод данных от пользователя, он сохраняет их в виде строки. Вы когда-нибудь думали о том, как мы можем использовать его для выполнения некоторых важных операций с ними? Да, нам нужно приведение типов (преобразование типа данных объекта) в желаемый тип данных. Теперь возникает вопрос, как мы можем привести его к типу. Итак, сегодня в этой статье мы увидим, как мы можем преобразовать строку в целочисленный тип данных, используя функция int() . Кроме того, он также используется для других целей, которые мы обсудим.

Содержание

Что такое функция Int() в Python?

Итак, функция int() — это встроенная функция Python , используемая для преобразования любого поддерживаемого типа данных в целое число. Поддерживаемый тип данных может быть строкой, байтовым объектом или числом с плавающей запятой. Кроме того, он также используется для преобразования строки байтов в ее десятичную форму при условии ее основания. Проще говоря, если вы выберете основание 2, это означает, что это двоичное число , и вы хотите преобразовать его в целое число. Точно так же, если основание равно 3, вы должны преобразовать троичное число в целое число. Теперь, если вы поняли концепцию функции int(), давайте посмотрим на ее синтаксис и использование.

Синтаксис:

  int([base])  

[Примечание: следует помнить, что если вы передаете любой недопустимый литерал с базой, он выдает значение ошибка. Это означает, что если вы хотите преобразовать двоичное число в целое, то первым аргументом должно быть двоичное число. Иначе система выдаст ошибку.]

Тенденции

ImportError: Попытка относительного импорта без известного родительского пакета

Примеры функции Int()

Теперь пришло время посмотреть некоторые примеры.

Пример 1. Преобразование типов данных в целые числа

 # Преобразование строки в целое число
строка1 = '143'
печать (тип (строка1))
число1 = целое (строка1)
печать (число1)
печать (тип (число1))
# Преобразование числа с плавающей запятой в целое
фл = 2,24
печать (флэт)
печать (тип (флт))
число2 = целое (флт)
печать (число2)
печать (тип (число2))
 

Вывод:

 <класс 'str'>
143
<класс 'целое число'>
2,24
<класс 'плавающий'>
2
 

Пример 2: Преобразование в целые числа с использованием базового значения

 # Преобразование двоичного числа в десятичное
# Мы выбираем базовое значение = 2
двоичный = '1000'
десятичное = целое (двоичное, 2)
печать (десятичная)
печать (тип (десятичный))
# Преобразование троичной в десятичную
# Мы выбираем базовое значение = 3
троичный = '2000'
десятичное = целое (троичное, 3)
печать (десятичная)
печать (тип (десятичный))
 

Вывод:

 8
<класс 'целое число'>
54
 

Сейчас популярно

Простое преобразование времени Unix в Datetime в Python

Пример 3.

Ошибка ввода при использовании неподдерживаемого типа данных
 lst = ['a','b']
# пытаемся преобразовать неподдерживаемый тип данных
печать (интервал (лст))
 

Вывод:

 TypeError Traceback (последний последний вызов)
 в ()
      1 лст = ['а','б']
----> 2 print(int(lst))
TypeError: аргумент int() должен быть строкой, байтовым объектом или числом, а не списком 

В приведенном выше примере мы пытались преобразовать список в целочисленный тип данных, что невозможно. Следовательно, система вызывает ошибку типа.

Пример 4: Недопустимые значения при преобразовании двоичных чисел

 num = int('143',2)
печать (число)
 

Вывод:

 ValueError Traceback (последний последний вызов)
 в ()
----> 1 число = целое ('143', 2)
      2 печати (количество)
ValueError: неверный литерал для int() с основанием 2: '143' 

Мы попытались преобразовать десятичное число в целое, указав его как двоичное число. Это вызывает ошибку значения. Таким образом, мы должны передать двоичное число с основанием 2.

Другой способ преобразования String в Int

Помимо функции int(), у нас есть еще один метод, используемый для преобразования строки в целое число. Для этого мы можем использовать метод ast.literal_eval() . Мы передадим строку в качестве аргумента функции и вернем ее как целое число. Давайте посмотрим на пример.

 импорт аст
х = '124'
печать (ast.literal_eval (x))
печать (тип (ast.literal_eval (x)))
 

Вывод:

 124
 

Тенденции

Как преобразовать изображения PIL в массив Numpy

Разница между round() и int()

Используя метод int(), мы можем преобразовать число с плавающей запятой в целое число используя метод int(). Мы также можем сделать то же самое, используя функцию round(). Однако его масштаб намного больше. Функция round() также используется для установки точности числа с плавающей запятой. Для этого мы должны передать точку точности в качестве второго аргумента числа. Однако, если мы не передадим второй аргумент, он вернет целое число до ближайшего округления числа. Это означает, что если десятичный знак числа больше «0,5», он вернет следующее целое число, , а если он меньше «0,5», он вернет само число без десятичного знака. Давайте посмотрим на пример.

 х = 12,7899
print("функция int() возвращает x как", int(x))
print ("функция round() возвращает x как", round(x))
у = 12,345
print("функция int() возвращает y как", int(y))
print ("функция round() возвращает y как", round(y))
 

Вывод:

 Функция int() возвращает x как 12
Функция round() возвращает x как 13
Функция int() возвращает y как 12
Функция round() возвращает y как 12 

Разница между int() и math.floor()

Функция floor() возвращает минимальное значение x, но не наибольшее число больше x. С другой стороны, int() возвращает целочисленное значение любого числа с плавающей запятой или преобразует одно числовое представление в другое. Давайте посмотрим на пример.

 импорт математики
х = 12,7899
print("функция int() возвращает x как", int(x))
print("функция math.floor() возвращает x как",math.floor(x))
х = -12,3
print("функция int() возвращает x как", int(x))
print("функция math.floor() возвращает x как",math.floor(x))
 

Вывод:

 Функция int() возвращает x как 12
Функция math.floor() возвращает x как 12
Функция int() возвращает x как -12
Функция math.floor() возвращает x как -13 

Trending

Расположение Python Virtualenv от А до Я

Часто задаваемые вопросы о функции Python int

Q1) Какое базовое значение по умолчанию используется в int()?

10 — базовое значение по умолчанию для функции int().

Q2) Работает ли int() со строками?

Нет, функция int() не работает со строкой. Однако, если строка содержит целочисленное значение, оно преобразуется в целое число.