1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: python, int, программирование на python, функции, операции, число, целые числа, возведение в степень, вывести дробную часть, комплексные числа, вещественные числа</p>
1
<p>Теги: python, int, программирование на python, функции, операции, число, целые числа, возведение в степень, вывести дробную часть, комплексные числа, вещественные числа</p>
2
<p>Представление чисел в<strong>Python 3</strong>не отличается от обычных математических чисел. И поддерживают такие числа самые обыкновенные операции: сложение, вычитание, умножение, деление, возведение в степень, получение дробной части и т. п.</p>
2
<p>Представление чисел в<strong>Python 3</strong>не отличается от обычных математических чисел. И поддерживают такие числа самые обыкновенные операции: сложение, вычитание, умножение, деление, возведение в степень, получение дробной части и т. п.</p>
3
<h2>Целые числа (int)</h2>
3
<h2>Целые числа (int)</h2>
4
<p>Ниже вы можете увидеть стандартные<strong>Python-операции</strong>, в которых используется целое число (<strong>int</strong>):</p>
4
<p>Ниже вы можете увидеть стандартные<strong>Python-операции</strong>, в которых используется целое число (<strong>int</strong>):</p>
5
<strong></strong><strong></strong>a + b Складываем a - b Вычитаем a * b Умножаем a / b Делим a // b Можем вывести целую часть от деления a % b Можем вывести остаток от деления -a Меняем знак числа abs(x) Можем вывести модуль числа x divmod(a, b) Пара (a // b, a % b) a ** b Операция для возведения в степень pow(a, b[, x]) ab по модулю (в случае, если модуль задан)<p>Кроме того, числа<strong>int в Python 3</strong>поддерживают длинную арифметику в отличие от некоторых других языков программирования. Однако для этого требуется больше памяти.</p>
5
<strong></strong><strong></strong>a + b Складываем a - b Вычитаем a * b Умножаем a / b Делим a // b Можем вывести целую часть от деления a % b Можем вывести остаток от деления -a Меняем знак числа abs(x) Можем вывести модуль числа x divmod(a, b) Пара (a // b, a % b) a ** b Операция для возведения в степень pow(a, b[, x]) ab по модулю (в случае, если модуль задан)<p>Кроме того, числа<strong>int в Python 3</strong>поддерживают длинную арифметику в отличие от некоторых других языков программирования. Однако для этого требуется больше памяти.</p>
6
<h2>Битовые операции</h2>
6
<h2>Битовые операции</h2>
7
<p>Над числами<strong>int в Python</strong>можно выполнять и битовые операции. К примеру, a | b - это побитовое "или". Есть и другие варианты:</p>
7
<p>Над числами<strong>int в Python</strong>можно выполнять и битовые операции. К примеру, a | b - это побитовое "или". Есть и другие варианты:</p>
8
<strong></strong><strong></strong>a ^ b Побитовое исключающее или a & b Побитовое и a << b Сдвиг влево a >> b Сдвиг вправо ~a Инверсия битов<h2>Дополнительные методы и операции в Python</h2>
8
<strong></strong><strong></strong>a ^ b Побитовое исключающее или a & b Побитовое и a << b Сдвиг влево a >> b Сдвиг вправо ~a Инверсия битов<h2>Дополнительные методы и операции в Python</h2>
9
<p>В эти операции входят: • int.bit_length() - количество бит, которое необходимо, чтобы представить число в двоичном виде без учёта лидирующих нулей и знака; • int.to_bytes(length, byteorder, *, signed=False) - метод возвращает строку байтов, которые представляют это число; • classmethod int.from_bytes(bytes, byteorder, *, signed=False) - возвращение числа из заданной строки байтов.</p>
9
<p>В эти операции входят: • int.bit_length() - количество бит, которое необходимо, чтобы представить число в двоичном виде без учёта лидирующих нулей и знака; • int.to_bytes(length, byteorder, *, signed=False) - метод возвращает строку байтов, которые представляют это число; • classmethod int.from_bytes(bytes, byteorder, *, signed=False) - возвращение числа из заданной строки байтов.</p>
10
<p>Пример работы последнего метода:</p>
10
<p>Пример работы последнего метода:</p>
11
>>> >>> int.from_bytes(b'\x00\x10', byteorder='big') 16 >>> int.from_bytes(b'\x00\x10', byteorder='little') 4096 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) -1024 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False) 64512 >>> int.from_bytes([255, 0, 0], byteorder='big') 16711680<h2>Операции с системами счисления</h2>
11
>>> >>> int.from_bytes(b'\x00\x10', byteorder='big') 16 >>> int.from_bytes(b'\x00\x10', byteorder='little') 4096 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) -1024 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False) 64512 >>> int.from_bytes([255, 0, 0], byteorder='big') 16711680<h2>Операции с системами счисления</h2>
12
<p>Как гласит математика и информатика, числа можно представить как в десятичной, так и в двоичной системе счисления. Допустим, число 19 в двоичной системе имеет вид 10011. Также можно переводить числа из одной системы в другую. В<strong>Python</strong>для этого есть ряд функций: • int([object], [основание системы счисления]) - функция нужна для преобразования к целому числу. По умолчанию речь идёт о десятичной системе, однако можно задать любое основание в пределах чисел 2-36. • bin(x) - функция для преобразования целого числа в двоичную строку; • hex(х) - аналогично, но действительное целое число преобразуется в шестнадцатеричную строку; • oct(х) - для преобразования чисел в восьмеричную строку.</p>
12
<p>Как гласит математика и информатика, числа можно представить как в десятичной, так и в двоичной системе счисления. Допустим, число 19 в двоичной системе имеет вид 10011. Также можно переводить числа из одной системы в другую. В<strong>Python</strong>для этого есть ряд функций: • int([object], [основание системы счисления]) - функция нужна для преобразования к целому числу. По умолчанию речь идёт о десятичной системе, однако можно задать любое основание в пределах чисел 2-36. • bin(x) - функция для преобразования целого числа в двоичную строку; • hex(х) - аналогично, но действительное целое число преобразуется в шестнадцатеричную строку; • oct(х) - для преобразования чисел в восьмеричную строку.</p>
13
<p>Пример:</p>
13
<p>Пример:</p>
14
>>> >>> a = int('19') # Строка переводится в число >>> b = int('19.5') # Строка не является числом Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '19.5' >>> c = int(19.5) # Отсекает дробную часть, если применена к числу с плавающей точкой >>> print(a, c) 19 19 >>> bin(19) '0b10011' >>> oct(19) '0o23' >>> hex(19) '0x13' >>> 0b10011 # Вариант записи числовых констант 19 >>> int('10011', 2) 19 >>> int('0b10011', 2) 19<h2>Операции с вещественными числами (float)</h2>
14
>>> >>> a = int('19') # Строка переводится в число >>> b = int('19.5') # Строка не является числом Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '19.5' >>> c = int(19.5) # Отсекает дробную часть, если применена к числу с плавающей точкой >>> print(a, c) 19 19 >>> bin(19) '0b10011' >>> oct(19) '0o23' >>> hex(19) '0x13' >>> 0b10011 # Вариант записи числовых констант 19 >>> int('10011', 2) 19 >>> int('0b10011', 2) 19<h2>Операции с вещественными числами (float)</h2>
15
<p>Чтобы вывести дробную часть, в<strong>Python</strong>используют вещественные числа. Они поддерживают выполнение тех же операций, что и в случае с<strong>int</strong>. Но из-за особенностей их представления в компьютере, когда выводишь дробную часть, возможны неточности и даже ошибки:</p>
15
<p>Чтобы вывести дробную часть, в<strong>Python</strong>используют вещественные числа. Они поддерживают выполнение тех же операций, что и в случае с<strong>int</strong>. Но из-за особенностей их представления в компьютере, когда выводишь дробную часть, возможны неточности и даже ошибки:</p>
16
>>> >>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 0.9999999999999999<p>Для повышения точности операций используются такие объекты, как<strong>Decimal</strong>и<strong>Fraction</strong>.</p>
16
>>> >>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 0.9999999999999999<p>Для повышения точности операций используются такие объекты, как<strong>Decimal</strong>и<strong>Fraction</strong>.</p>
17
<h2>Вспомогательные методы</h2>
17
<h2>Вспомогательные методы</h2>
18
-
<p>К ним относят: • float.as_integer_ratio() - это пара целых чисел int, отношение которых равно этому числу; • float.is_integer() - функция определят, является ли данное значение целым числом; • float.hex() - функци�� переводит float в 16-тиричную систему счисления, то есть в hex; • classmethod float.fromhex(s) - функцию используют для получения float из 16-тиричной строки.</p>
18
+
<p>К ним относят: • float.as_integer_ratio() - это пара целых чисел int, отношение которых равно этому числу; • float.is_integer() - функция определят, является ли данное значение целым числом; • float.hex() - функция переводит float в 16-тиричную систему счисления, то есть в hex; • classmethod float.fromhex(s) - функцию используют для получения float из 16-тиричной строки.</p>
19
<p>Кроме стандартных выражений, в<strong>Python</strong>есть и специальные полезные модули. Например, модуль<strong>math</strong>позволяет выполнять более сложные арифметические функции:</p>
19
<p>Кроме стандартных выражений, в<strong>Python</strong>есть и специальные полезные модули. Например, модуль<strong>math</strong>позволяет выполнять более сложные арифметические функции:</p>
20
>>> >>> import math >>> math.pi 3.141592653589793 >>> math.sqrt(85) 9.219544457292887<p>А вот модуль<strong>random</strong>запускает генератор случайных чисел, позволяя реализовать функции случайного выбора:</p>
20
>>> >>> import math >>> math.pi 3.141592653589793 >>> math.sqrt(85) 9.219544457292887<p>А вот модуль<strong>random</strong>запускает генератор случайных чисел, позволяя реализовать функции случайного выбора:</p>
21
>>> >>> import random >>> random.random() 0.75849839767373282<h2>Комплексные числа в Python (complex)</h2>
21
>>> >>> import random >>> random.random() 0.75849839767373282<h2>Комплексные числа в Python (complex)</h2>
22
<p>Также в<strong>Python</strong>встроены комплексные числа:</p>
22
<p>Также в<strong>Python</strong>встроены комплексные числа:</p>
23
>>> >>> x = complex(1, 2) >>> print(x) (1+2j) >>> y = complex(3, 4) >>> print(y) (3+4j) >>> z = x + y >>> print(x) (1+2j) >>> print(z) (4+6j) >>> z = x * y >>> print(z) (-5+10j) >>> z = x / y >>> print(z) (0.44+0.08j) >>> print(x.conjugate()) # Сопряжённое число (1-2j) >>> print(x.imag) # Мнимая часть 2.0 >>> print(x.real) # Действительная часть 1.0 >>> print(x > y) # Числа нельзя сравнить Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: complex() > complex() >>> print(x == y) # Однако можно проверить их на равенство False >>> abs(3 + 4j) # Модуль 5.0 >>> pow(3 + 4j, 2) # Возведение в степень, получение значения степени (-7+24j)<p>Кроме того, для работы с<strong>complex</strong>может применяться модуль<strong>cmath</strong>.</p>
23
>>> >>> x = complex(1, 2) >>> print(x) (1+2j) >>> y = complex(3, 4) >>> print(y) (3+4j) >>> z = x + y >>> print(x) (1+2j) >>> print(z) (4+6j) >>> z = x * y >>> print(z) (-5+10j) >>> z = x / y >>> print(z) (0.44+0.08j) >>> print(x.conjugate()) # Сопряжённое число (1-2j) >>> print(x.imag) # Мнимая часть 2.0 >>> print(x.real) # Действительная часть 1.0 >>> print(x > y) # Числа нельзя сравнить Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: complex() > complex() >>> print(x == y) # Однако можно проверить их на равенство False >>> abs(3 + 4j) # Модуль 5.0 >>> pow(3 + 4j, 2) # Возведение в степень, получение значения степени (-7+24j)<p>Кроме того, для работы с<strong>complex</strong>может применяться модуль<strong>cmath</strong>.</p>
24
<p><em>На этом пока что всё. Следите за новостями и не забывайте оставлять свои комментарии!</em></p>
24
<p><em>На этом пока что всё. Следите за новостями и не забывайте оставлять свои комментарии!</em></p>
25
25