В этом материале рассмотрим работу с числами в Python. Установите последнюю версию этого языка программирования и используйте IDE для работы с кодом, например, Visual Studio Code.
В Python достаточно просто работать с числами, ведь сам язык является простым и одновременно мощным. Он поддерживает всего три числовых типа:
int
(целые числа)float
(числа с плавающей точкой)complex
(комплексные числа)
Хотя int и float присутствуют в большинстве других языков программирования, наличие типа комплексных чисел — уникальная особенность Python. Теперь рассмотрим в деталях каждый из типов.
Целые и числа с плавающей точкой в Python
В программирование целые числа — это те, что лишены плавающей точкой, например, 1, 10, -1, 0 и так далее. Числа с плавающей точкой — это, например, 1.0, 6.1 и так далее.
Создание int и float чисел
Для создания целого числа нужно присвоить соответствующее значение переменной. Возьмем в качестве примера следующий код:
var1 = 25
Здесь мы присваиваем значение 25
переменной var1
. Важно не использовать одинарные или двойные кавычки при создании чисел, поскольку они отвечают за представление строк. Рассмотрим следующий код.
var1 = "25"
# или
var1 = '25'
В этих случаях данные представлены как строки, поэтому не могут быть обработаны так, как требуется. Для создания числа с плавающей точкой, типа float
, нужно аналогичным образом присвоить значение переменной.
var1 = 0.001
Здесь также не стоит использовать кавычки.
Проверить тип данных переменной можно с помощью встроенной функции type()
. Можете проверить результат выполнения, скопировав этот код в свою IDE.
var1 = 1 # создание int
var2 = 1.10 # создание float
var3 = "1.10" # создание строки
print(type(var1))
print(type(var2))
print(type(var3))
Вывод:
<class 'int'>
<class 'float'>
<class 'str'>
В Python также можно создавать крупные числа, но в таком случае нельзя использовать запятые.
# создание 1,000,000
var1 = 1,000,000 # неправильно
Если попытаться запустить этот код, то интерпретатор Python вернет ошибку. Для разделения значений целого числа используется нижнее подчеркивание. Вот пример корректного объявления.
# создание 1,000,000
var1 = 1_000_000 # правильно
print(var1)
Значение выведем с помощью функции print
:
1000000
Арифметические операции над целыми и числами с плавающей точкой
Используем такие арифметические операции, как сложение и вычитание, на числах. Для запуска этого кода откройте оболочку Python, введите python
или python3
. Терминал должен выглядеть следующим образом:
Сложение
В Python сложение выполняется с помощью оператора +
. В терминале Python выполните следующее.
>>> 1+3
Результатом будет сумма двух чисел, которая выведется в терминале.
Теперь запустим такой код.
>>> 1.0 + 2
3.0
В нем было выполнено сложение целого и числа с плавающей точкой. Можно обратить внимание на то, что результатом также является число с плавающей точкой. Таким образом сложение двух целых чисел дает целое число, но если хотя бы один из операндов является числом с плавающей точкой, то и результат станет такого же типа.
Вычитание
В Python для операции вычитания используется оператор -. Рассмотрим примеры.
>>> 3 - 1
2
>>> 1 - 5
-4
>>> 3.0 - 4.0
-1.0
>>> 3 - 1.0
2.0
Положительные числа получаются в случае вычитания маленького числа из более крупного. Если же из маленького наоборот вычесть большое, то результатом будет отрицательно число. По аналогии с операцией сложения при вычитании если один из операндов является числом с плавающей точкой, то и весь результат будет такого типа.
Умножение
Для умножения в Python применяется оператор *
.
>>> 8 * 2
16
>>> 8.0 * 2
16.0
>>> 8.0 * 2.0
16.0
Если перемножить два целых числа, то результатом будет целое число. Если же использовать число с плавающей точкой, то результатом будет также число с плавающей точкой.
Деление
В Python деление выполняется с помощью оператора /
.
>>> 3 / 1
3.0
>>> 4 / 2
2.0
>>> 3 / 2
1.5
В отличие от трех предыдущих операций при делении результатом всегда будет число с плавающей точкой. Также нужно помнить о том, что на 0 делить нельзя, иначе Python вернет ошибку ZeroDivisionError
. Вот пример такого поведения.
>>> 1 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
Деление без остатка
При обычном делении с использованием оператора /
результатом будет точное число с плавающей точкой. Но иногда достаточно получить лишь целую часть операции. Для этого есть операции интегрального деления. Стоит рассмотреть ее на примере.
>>> 2 // 1
2
>>> 4 // 3
1
>>> 5 // 2
2
Результатом такой операции становится частное. Остаток же можно получить с помощью модуля, о котором речь пойдет дальше.
Остаток от деления
Для получения остатка деления двух чисел используется оператор деления по модулю %
.
>>> 5 % 2
1
>>> 4 % 2
0
>>> 3 % 2
1
>>> 5 % 3
2
На этих примерах видно, как это работает.
Возведение в степень
Число можно возвести в степень с помощью оператора **
.
>>> 3**2
9
>>> 2**4
16
>>> 3**3
27
Комплексные числа
Комплексные числа — это числа, которые включают мнимую часть. Python поддерживает их «из коробки». Их можно запросто создавать и использовать. Пример:
# создание двух комплексных чисел
var1 = 2 + 2j
var2 = 3 + 4j
# сложение двух комплексных чисел
sum = var1 + var2
print("Сумма двух комплексных чисел равна: ", sum)
В этом примере были созданы два комплексных числа a+bj
. После этого было выполнено их сложение с помощью оператора +
. Результат вывели на экран с помощью функции print()
.
Сумма двух комплексных чисел равна: (5+6j)
Конвертация типов чисел
Конвертация типа — это метод конвертации числа из одного типа в другой. Для этого можно использовать функции float()
, int()
и complex()
.
x = 1 # создание целого числа
y = 2.0 # создание числа с плавающей точкой
z = 2+3j # создание комплексного числа
a = float(x) # преобразование целого числа в число с плавающей точкой
b = int(x) # преобразование числа с плавающей точкой в целое число
c = complex(x) # преобразование целого числа в комплексное
d = complex(y) # преобразование числа с плавающей точкой в комплексное
print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))
Можно увидеть, как числа изменились за счет использования простых встроенных функций Python.
1.0 <class 'float'>
1 <class 'int'>
(1+0j) <class 'complex'>
(2+0j) <class 'complex'>
Случайные числа
Случайные числа используются в играх, криптографии и так далее. В Python нативной поддержки случайных чисел нет, но есть встроенный модуль random, который используется для работы с целыми числами. Рассмотрим пример генерации случайных чисел с помощью такого модуля.
import random
print(random.randrange(1, 1000))
Результатом будет новое число от 1 до 1000, у каждого свое.
Встроенные математические функции
В Python есть множество встроенных функций для работы с числами. Вот самые важные из них.
round()
Функция round()
используется для округления чисел с плавающей точкой до ближайшего целого. Пр этом тип данных не меняется. Целое число — это также число с плавающей точкой. Пример:
# создание чисел
a = 0.01
b = 1.45
c = 2.25
d = 3.7
e = 4.5
# округление чисел
print(round(a))
print(round(b))
print(round(c))
print(round(d))
print(round(e))
В выводе можно увидеть, что все числа с плавающей точкой были округлены до ближайшего целого.
0
1
2
4
4
abs()
Эта функция используется для генерации абсолютного значения числа. Оно всегда положительное, хотя число можно быть как положительным, так и отрицательным. Пример:
# создание чисел
a = 1.1
b = -1.5
c = 2
d = -3
e = 0
# отображение абсолютного значения
print(round(a))
print(round(b))
print(round(c))
print(round(d))
print(round(e))
Вывод:
1.1
1.5
2
3
0
pow()
Функция pow()
используется для возведения числа в степень. Она повторяет то, что можно сделать и с помощью оператора **
.
Функции pow()
нужно передать два параметра. Первый — число, которое нужно возвести в степень, а второе — сама степень. Пример:
base = 8
power = 2
print(pow(base, power))
Возведем 8 в степень 2. Вывод:
64
Библиотека math
В Python есть полноценная библиотека, с помощью которой можно выполнять почти любую математическую операцию — math. Все это есть в стандартной библиотеке, поэтому дополнительные действия выполнять не нужно. В модуле есть кое-какие константы, среди которых PI, e и так далее. Есть и кое-какие математические методы: log()
, exp()
, sqrt()
, тригонометрические функции и так далее.
Выводы
В этом материале вы узнали об основах работы с числами в Python. Это поможет выполнять математические операции при работе с кодом.