ОСНОВЫ ПИТОН

Основы 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 и реляционные операции.