Працюємо з цілими та дійсними числами

Для роботи з цілими та дійсними типами визначені наступні стандартні арифметичні операції і функції:

Операція
Функція
Опис
a + b
add(a, b)
складання
a b
sub(a, b)
віднімання
a * b
mul(a, b)
множення
a ** b
pow(a, b)
зведення в ступінь
a / b
truediv(a, b)
ділення (отримаємо дійсне число – float)
a // b
floordiv(a, b)
цілочисельне ділення (отримаємо ціле число – int)
a % b
mod(a, b)
залишок від ділення
abs(a)
абсолютне значення
round(x[, n])
округлення до найближчого цілого (int) або з точністю до n знаків (float)

Треба зазначити, якщо в якості операндів деякого арифметичного виразу використовуються тільки цілі числа, то результат теж буде ціле число, винятком є операція ділення, результатом якої буде дійсне число. При спільному використанні цілих і дійсних чисел результатом буде дійсне число.

Правила обчислення виразів.

Форма запису виразу однозначно визначає правила його обчислення: дії виконуються з ліва на право з дотриманням наступного старшинства операцій (в порядку зменшення пріоритету).

Пріоритет обчислення у виразі:

  1. Зведення в ступінь **
  2. Унарні: + та ;
  3. *, /, floordiv, mod;
  4. Бінарні: + та ;
  5. <, <=, >, >=, !=, ==.

У операторів є своя термінологія, яка використовується в усіх мовах програмування. Перш, ніж ми рушимо далі розглянемо кілька термінів, щоб розуміти, про що йдеться.

Операнд – те, до чого застосовується оператор. Наприклад: 5 * 2 – оператор множення з лівим і правим операндами. Інша назва: «аргумент оператора».

Унарний оператор – це оператор, який застосовується до одного операнду. Наприклад: оператор унарний мінус змінює знак числа на протилежний:

Приклад:

  • x = 1
  • x = -x
    # -1, застосували унарний мінус

Бінарний оператор – це оператор, який застосовується до двох операндів. Той же мінус існує і в бінарній формі:

Приклад:

  • x = 2
  • y = 3
  • z = x – y
    # -1, застосували бінарний мінус

З таблиці видно, що деякі арифметичні операції: *, /, //, % мають однаковий пріоритет. Виникає питання: якщо операції мають однаковий пріоритет, то в якому порядку (послідовності) будуть виконуватися ці операції в складному виразі? Тому крім пріоритету, операції мають асоціативність. Для арифметичних операцій асоціативність «ліва», тобто, операції будуть виконуватися послідовно зліва направо.

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

Форма скорочених операцій.

Розробники мови python прагнули зробити кодинг більш лаконічним і компактним. Ще одним способом скоротити запис виразів з арифметичними операціями є скорочена форма. Використовується вона тоді, коли значення даної змінної змінюється значенням іншої змінної або константою:

Повна форма
Скорочена форма
a = a + b
a += b
a = a b
a -= b
a = a * b
a *= b
a = a / b
a /= b
a = a // b
a //= b
a = a % b
a %= b
a = a ** b
a **= b

Проміжки між оператором присвоєння = і операцією що скорочується не допускаються.

Імпорт модулів.

Окрім стандартної бібліотеки з досить широким набором функцій, мова Python містить велику кількість додаткових бібліотек, які можуть бути використанні при написанні програм. Так однією з бібліотек, яка містить математичні функцій і призначена для роботи з числовими даними, є бібліотека (модуль) math.

Для роботи з модулем його необхідно імпортувати (підключити), або на початку програми, або безпосередньо перед викликом компоненти. Підключення модуля виконується командою import, далі через пропуск вказується ім’я модуля.

Приклад:

  • import math
    #підключили модуль math

Після того як модуль імпортовано, ми отримуємо доступ до всіх його функцій. Наведемо в таблиці нижче, найбільш часто використовувані функції модуля math:

Функція
Опис
math.pi
число π (3.14)
math.tau
математична константа кола, рівна 2π.
math.e
експонента (2.71)
math.exp(x)
експонента e
math.sqrt(x)
корень квадратний числа х
math.pow(a, b)
зведення в ступінь
math.ceil(x)
повертає найближче ціле число, більше чим x (округлення вгору)
math.floor(х)
повертає найближче ціле число, менше чим х (округлення вниз)
math.trunc(х)
Повертає усічене значення х до цілого.

Використання функцій округлення чисел:

  • math.ceil(3.1)
    # 4
  • math.ceil(-3.1)
    # -3
  • math.floor(3.8)
    # 3
  • math.floor(-3.8)
    # -4
  • math.trunc(3.8)
    # 3
  • math.trunc(-3.8)
    # -3