Осваиваем Python: математические операции

В этом руководстве мы будем работать с двумя типами данных в Python – целыми числами (integer) и числами с плавающей точкой (floats):

  • Целые – числа без дробной части, которые могут быть положительными, отрицательными или нулём (…, -1, 0, 1, …).
  • С плавающей точкой – это числа, содержащие десятичную точку (например, 9.0 или -2.25).

В этой статье будут описаны операции с числовыми типами данных в Python.

Математические операторы Python 3

Оператор – это символ, которая обозначает операцию. Например, в математике знак плюса или + – это оператор сложения.

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

Ниже представлена таблица с кратким обзором математических операторов, доступных в Python.

 

ОперацияВозвращаемое значение
x + yСумма x и y.
x — yРазность x и y.
-xИзменение знака x.
+xТождественность x.
x * yПроизведение x и y.
x / yЧастное от деления x на y.
x // yЧастное от целочисленного деления x на y.
x % yОстаток от деления x / y.
x ** yx в степени y.

Сумма в питоне и разность в питоне

В Python операторы суммы и разности выполняют те же операции, что и в математике. Поэтому вы можете использовать этот язык программирования как калькулятор.

Рассмотрим некоторые примеры. Начнём с целых чисел:

print(1 + 5)

Вывод

6

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

a = 88
b = 103
print(a + b)

Вывод

191

Целые числа могут быть как положительными, так и отрицательными. Поэтому можно добавлять отрицательные числа к положительным:

c = -36
d = 25
print(c + d)

Вывод

-11

Прибавление работает аналогично и с числами с плавающей запятой:

e = 5.5
f = 2.5
print(e + f)

Вывод

8.0

Синтаксис разности тот же, что и для прибавления, за исключением того, что вместо оператора сложения (+) необходимо использовать оператор вычитания (-):

g = 75.67
h = 32
print(g - h)

Вывод

43.67

В этом примере мы вычитаем целое число из числа с плавающей точкой. Python возвратит число с плавающей точкой, если хотя бы одно из чисел выражения является числом с плавающей точкой.

Унарные арифметические операции Python

Унарное математическое выражение состоит из одного элемента. Знаки плюса и минуса в питоне могут быть использованы как единичный оператор, чтобы вернуть тождественное значение (+) или сменить знак числа (-).

Знак плюса означает тождественное значение. Мы можем использовать его с положительными значениями:

i = 3.3
print(+i)

Вывод

3.3

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

j = -19
print(+j)

Вывод

-19

При использовании с отрицательным значением знак плюса возвращает то же отрицательное значение.

Минус (в отличие от знака плюса) изменяет знак числа. Поэтому при передаче положительного числа мы получим отрицательное значение:

i = 3.3
print(-i)

Вывод

-3.3

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

j = -19
print(-j)

Вывод

19

Унарные арифметические операторы возвращают тождественное значение в случае с +i, или противоположное по знаку число в случае с -i.

Умножение и деление в питоне

Оператор, которые мы будем использовать в Python для умножения «*», а для деления «/». Пример умножения двух чисел с плавающей точкой в Python:

k = 100.1
l = 10.1
print(k * l)

Вывод

1011.0099999999999

Когда вы выполняете деление в Python 3, частное всегда будет числом с плавающей точкой, даже если вы используете два целых числа:

m = 80
n = 5
print(m / n)

Вывод

16.0

Это одно из наиболее существенных отличий Python 2 от Python 3. В Python 3 результатом будет дробное число. Поэтому, когда вы используете оператора «/» для деления 11 на 2, возвращено будет 5.5. В Python 2 возвращаемое значение деления 11 / 2 было 5.

В Python 2 оператор «/» выполняет целочисленное деление, где частное x, а возвращаемое число – это наибольшее целое число, меньшее или равное x. Если вы выполните пример, приведённый выше, в Python 2, то получите 16 без десятичной точки.

Целочисленное деление python 3 использует оператор «//». Выражение 100 // 40 вернёт значение 2.

Деление с остатком Python

Оператор % используется для деления по модулю, и возвращает остаток от деления, а не частное. Это полезно, например, для нахождения множителей числа.

Деление по модулю Python (с остатком) — пример:

o = 85
p = 15
print(o % p)

Вывод

10

В этом примере 85 делится на 15. Результат – 5 с остатком 10. Значение 10 выводится, поскольку оператор возвращает остаток от деления.

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

q = 36.0
r = 6.0
print(o % p)

Вывод

0.0

В приведенном выше примере 36.0 делится на 6.0 без остатка, поэтому возвращается значение 0.0.

Возведение в степень Python

Оператор «**» в Python используется для возведения числа, расположенного слева от оператора в степень, указанную справа. То есть, в выражении 5 ** 3,  число 5 возводится в третью степень.

В математике часто используется выражение 5³. То есть 5 умножается на себя три раза. В Python мы получим тот же результат (125) выполнив 5 ** 3 или 5 * 5 * 5.

Пример с переменными:

s = 52.25
t = 7
print(s ** t)
1063173305051.292

Возведение числа с плавающей точкой 52.25 в степень 7 с помощью оператора ** приводит к выводу большого числа с плавающей точкой.

Приоритет операторов

 Операторы Python выполняются в порядке приоритета. Посмотрим на следующее выражение:

u = 10 + 10 * 5

Умножение выполняется первым. Поэтому, если мы вызовем метод print(u), то получим следующее значение:

Вывод

60

Это потому, что 10 * 5 равно 50, а затем мы прибавляем 10, чтобы получить 60.

Если нужно было сложить 10 и 10, и умножить сумму на 5, то пришлось бы использовать скобки, как в математике:

u = (10 + 10) * 5
print(u)

Вывод

100

Операторы присваивания Python

Оператор «=» присваивает значение, расположенное справа, переменной слева. Например, v = 23 присваивает значение числа 23 переменной v.

В программировании часто используют составные операторы присваивания. Они соединяют арифметический оператор с оператором «=». Поэтому для сложения мы используем оператор «+» с оператором «=», чтобы получить составной оператор «+=». Пример:

w = 5
w += 1
print(w)

Вывод

6

Сначала мы задаём переменной w значение 5. Затем используем составной оператор присваивания +=, чтобы прибавить число справа, к переменной, расположенной слева, и присвоить результат переменной w.

Составные операторы присваивания часто используются в циклах for:

for x in range (0, 7):
    x *= 2
    print(x)

Вывод

0
2
4
6
8
10
12

При помощи for можно автоматизировать процесс использования оператора «*=». Он умножает переменную w на число 2, а затем присваивает полученный результат переменной w для следующей итерации цикла.

В Python предусмотрен составной оператор присваивания для каждой арифметической операции:

y += 1          # добавить число и присвоить результат
y -= 1          # отнять число и присвоить результат
y *= 2          # умножить на число и присвоить результат
y /= 3          # разделить на число и присвоить результат
y // = 5        # разделить без остатка на число и присвоить результат
y **= 2         # возвести в степень и присвоить результат
y %= 3          # вернуть остаток от деления и присвоить результат

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

Заключение

В этой статье рассмотрены операторы, которые используются для математических операций с целыми и дробными десятичными числами.

Пожалуйста, опубликуйте свои комментарии по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, подписки, лайки, дизлайки, отклики!

Данная публикация является переводом статьи «How To Do Math in Python 3 with Operators» , подготовленная редакцией проекта.

Меню
Posting....