ОСНОВЫ ПИТОН
Основы Python: арифметические операции
Основные математические операции
В последней статье мы узнали, что типы данных классифицируют типы данных, представленных на компьютере, и определяют операции, которые можно с ними выполнять. Мы рассмотрели четыре примитивных типа данных: str
, int
, float
и bool
.
Мы также использовали несколько операций int
и float
в нашем примере с Счетом. Эти числовые типы данных (int
и float
) имеют схожие операции, называемые арифметическими операциями.
Операции
Добавление
Возможно, самая простая арифметическая операция — это сложение: сумма двух чисел. Как и другие встроенные операторы, сложение использует инфиксную нотацию, где операнды находятся слева и справа от оператора.
2 + 2 = 4 # int + int = int 1 + 0.5 = 0.5 # int + float = float 2.5 + 3.5 = 6.0 # float + float = float
вычитание
Разница двух чисел.
3 - 2 = 1 # int - int = int 5 - 2.5 = 2.5 # int - float = float 5.5 - 1.5 = 4.0 # float - float = float
Умножение
Произведение двух чисел.
2 * 3 = 6 # int * int = int 4 * 2.5 = 10.0 # int * float = float 2.5 * 1.5 = 3.75 # float * float = float
Разделение
Частное двух чисел.
4 / 2 = 2.0 # int / int = float 6 / 2.5 = 2.4 # int / float = float 7.5 / 3 = 2.5 # float / int = float 6.5 / 1.3 = 5.0 # float / float = float
Возведение в степень
Левый операнд возводится в степень правого операнда.
3 ** 2 = 9 # int ** int = int 2 ** 1.4 = 2.63 # int ** float = float 3.5 ** 2 = 12.25 # float ** int = float 2.5 ** 1.5 = 3.95 # float ** float = float
Модуль
Остаток от деления двух чисел. Операция по модулю дает остаток, а не частное.
15 % 4 = 3 # int % int = int 6 % 2.5 = 1.0 # int % float = float 15.5 % 4 = 3.5 # float % int = float 8.25 % 3.5 = 1.25 # float % float = float
Пол Отделение
Эта операция дает целую часть частного между двумя числами. Десятичная дробь игнорируется.
5 // 3 = 1 # int // int = int 5 // 3.0 = 1.0 # int // float = float 5.0 // 3 = 1.0 # float // int = float 5.0 // 3.0 = 1.0 # float // float = float
Порядок действий
При работе с числами часто приходится составлять несколько операций вместе. Например, формула преобразования Фаренгейта в Цельсий, (x-32) * 5/9
, использует вычитание, умножение и деление. В Python все операторы имеют порядок, который определяет, какие выражения вычисляются первыми. Это расширяет правило BEDMASили PEMDAS (круглые скобки, показатели степени, умножение, деление, сложение и вычитание).
Operator Name Precedence ----------- ---------------- ------------ () Parenthesis 6 ** Exponentiation 5 // Floor Division 4 * Multiplication 3 / Division 3 % Modulus 2 + Addition 1 - Subtraction 1
Используя правило приоритета, формула преобразования Фаренгейта в Цельсия оценивается следующим образом.
Обратите внимание, что порядок, в котором оцениваются умножение и деление, не имеет значения.
Операторы присваивания
Общим шаблоном для этих арифметических операторов является переназначение переменных на основе предыдущих значений. Другими словами, вы можете столкнуться с ситуацией, когда вам нужно написать x = x + 1
, что увеличивает значение переменной x
.
Python, наряду с некоторыми другими языками программирования, обеспечивает быстрый способ выполнения этих операций. В случае x = x+1
мы можем переписать его более компактно как x += 1
. Этот ярлык поддерживается для всех арифметических операторов.
Обратите внимание, что переменная, которую вы переназначаете, должна быть крайним левым значением в выражении. Это означает, что x = 2 - x
нельзя преобразовать в операцию присваивания.
Заключение
Мы рассмотрели арифметические операторы, общие для всех числовых типов данных Python, и порядок, в котором они оцениваются в выражении. Мы также рассмотрели, как упростить переназначение переменных с помощью операций присваивания. В следующий раз мы более подробно рассмотрим тип данных bool
и реляционные операции.