Найти в Дзене

Обучение python ч.6 .Операции над числами. Модификация числовых значений

4. Приведение чисел Как говорилось ранее, каждый тип данных имеет определённый набор операций, который специфическим образом модифицирует данные этого типа. В частности, для числовых типов, данных есть арифметические операции.
Они выполняют абсолютно те же функции, что и арифметические операторы в математике, хотя присутствует и несколько удобных специфических операторов. Простые арифметические операторы Сложение.
Оператор +, складывает два и более числа между собой. Пример:
print(2 + 2) # 4
print(2 + 2 + 2) # 6
print(2.5 + 2.5) # 5.0
print(3.5 + 3.5) # 7.0 Вычитание.
Оператор -, вычитает из левой части выражения правую, и все последующие. Пример:
print(2 - 2) # 0
print(5 - 2 - 2) # 1
print(3.5 - 2.5) # 1.00
print(7.5 - 3.5) # 4.00 Умножение.
Оператор *, перемножает операнды выражения между собой. Пример:
print(2 * 2) # 4
print(5 * 2 * 2) # 20
print(3.5 * 2.5) # 8.75
print(7.5 * 3.5) # 26.25 Деление.
Оператор /, делит левый левую часть выражения на правую. Пример:
print(2 /
Оглавление

Содержание урока:
1. Простые арифметические операторы
2. Арифметические операции с присвоением
3. Округление чисел
4. Приведение чисел

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

Простые арифметические операторы

Сложение.
Оператор +, складывает два и более числа между собой. Пример:
print(2 + 2) # 4
print(2 + 2 + 2) # 6
print(2.5 + 2.5) # 5.0
print(3.5 + 3.5) # 7.0

Вычитание.
Оператор -, вычитает из левой части выражения правую, и все последующие. Пример:
print(2 - 2) # 0
print(5 - 2 - 2) # 1
print(3.5 - 2.5) # 1.00
print(7.5 - 3.5) # 4.00

Умножение.
Оператор *, перемножает операнды выражения между собой. Пример:
print(2 * 2) # 4
print(5 * 2 * 2) # 20
print(3.5 * 2.5) # 8.75
print(7.5 * 3.5) # 26.25

Деление.
Оператор /, делит левый левую часть выражения на правую. Пример:
print(2 / 2) # 1.0
print(5 / 2 / 2) # 1.25
print(3.5 / 2.5) # 1.4
print(7.5 / 3.5) # 2.142857142857143
Нужно отметить, что если мы делим друг на друга, два целых числа, результат деления которых является целым (например, 2 / 2 = 1), то мы всё равно получаем дробное значение (с плавающей точкой).

Целочисленное деление.
Оператор //, делит левую часть выражения на правую отбрасывая остаток. Пример:
print(5 / 2) # 2.5
print(5 // 2) # 2
print(5.00 // 2.00) # 2.00
Обратите внимание, что деление двух целых чисел возвращает целочисленное значение. Деление двух чисел с плавающей точкой – возвращают значение с плавающей точкой.

Остаток от деления.
Оператор %, возвращает остаток от деления двух чисел. Пример:
print(5 % 2) # 1
print(5 % 4) # 1
print(2 % 2) # 0
print(2.00 % 2.00) # 0

5 на 2 нацело делится 2 раза (2 + 2 = 4), единица и есть остаток. Его данная функция и выводит.

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

Оператор **, возводит левую часть выражения в степень правой части выражения. Пример:
print(2 ** 2) # 4
print(2.00 ** 2.00) # 4.0

Если в выражении присутствует несколько разных операторов, например, 5 + 6 * 4 – 4, то вычисления производятся в порядке приоритетности операторов (самый высокий по приоритетности оператор выполняется первым) и слева направо.
Таблица приоритетности операторов (кликабельно)
По данным таблицы, приведённый пример выполнится в следующем порядке: (5 + (6 * 4)) – 4 = 25

То есть, сперва произойдёт умножение, и выражение превратится в: 5 + 24 – 4, а далее, т.к. приоритет у операторов + и – одинаковые, вычисления пойдёт слева направо.

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

Идентичны обычным арифметическим операциям, с оной особенностью, они присваивают левому операнду значение самого операнда и побочного значения. Например, у вас есть переменная со значением 5, и вы хотите прибавить к ней какое-то дополнительное значение, с обычными арифметическими операторами вы сможете сделать так:

num = 5 # 5
num = num + 5 # 10

То есть, вы вашу переменную перезаписываете значением выражения между вашей переменной и новым значением.

Арифметические операции с присвоением позволяют сделать вот так:
num = 5 # 5
num += 5 # 10

Как видите, это выражение короче и удобнее. Такой же синтаксис работает и со всеми остальными выражениями:

num = 5 # 5
num += 5 # 10

num = 5 # 5
num -= 5 # 0

num = 5 # 5
num *= 5 # 25

num = 5 # 5
num /= 5 # 1.0

и т.д.

Округление чисел

Иногда, числа с плавающей точкой имеют слишком много знаков после запятой. И если вам нужно округлить значение до целого числа, или до определённого числа после запятой, то необходимо использовать функцию round(<число>, <знаков после запятой>):

f = 5.154544 round(f) # 5
round(f, 2) # 5.15 # число 2 в данном случае значит сколько цифр после запятой.

Приведение чисел

Порой, числа приходят не в том формате, в котором мы бы хотели их видеть. Например, когда на сервер приходит строковое значение, представляющее число, например: 5

Хоть мы и понимаем, что это число, а интерпретатор python будет считать, что это строка. И как только мы попробуем сложить эту строку с числом:

print(5 + "5")

Интерпретатор python выдаст ошибку: TypeError: unsupported operand type(s) for +: 'int' and 'str'

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

Функция int приводит строку к типу int, или значение типа float к типу int. Функция float приводит строку к типу float или значение типа int к типу float. Пример:
print(type(int(x)))
print(type(float(x)))

Следующий урок