Python. Оператори (операції) для роботи з числовими обўєктами. Таблиця пріоритетності операторів

Оператори (операції) для роботи з числовими об’єктами. Таблиця пріоритетності операторів


Зміст


1. Поняття про оператори для обробки чисел у виразах

Для кожного числа (літерала) у мові Python генерується відповідний числовий об’єкт, який містить:

  • значення цього числа (літерала);
  • множину операцій чи операторів, які можна виконувати над цим числом.

Приклади операторів.

x % y # оператор взяття остачі від ділення
x==y # оператор порівняння
-z # унарний мінус

 

2. Класифікація операцій для роботи з числовими об’єктами

Операції для роботи з числовими об’єктами є трьох видів:

  • оператори виразів +, , *, /, **, not, yield та інші;
  • вбудовані математичні функції round, int, bin, pow та інші;
  • допоміжні модулі, наприклад math, random, sys, contextlib та інші. (додати ще якісь модулі)

 

3. Оператори виразів. Таблиця пріоритетності операторів

Нижче наведено таблицю операторів мови Python в порядку спадання пріоритетності.

Оператор (операція) Опис
{ . . . } Словник, множина, генератор словників, генератор множин (найвищий пріоритет)
[ . . . ] Список, генератор списків
( . . . ) Кортеж, підвираз, вираз-генератор
x.attr Звертання до атрибуту
x( . . . ) Виклик функцій, класів. Тут x – імўя функції, класу
x[l:j:k] Зріз
x[i] Взяття за індексом i
x ** y Піднесення до степеня
~x Бітова операція НІ (заперечення, інверсія)
-x, +x Унарний мінус, тотожність
x/y, x//y Звичайне ділення, ділення з округленням вниз
x%y Остача, формат
x*y Множення, повторення
x-y Віднімання, різниця множин
x+y Додавання, конкатенація
x<<y, x>>y Зсув x вліво або вправо на y бітів
x&y Бітова операція І, перетин множин
x^y Бітова операція “виключне АБО” (XOR), симетрична різниця множин
x | y Бітова операція АБО, об’єднання множин
x==y, x!=y, x<>y Оператори перевірки на рівність. Випадок x<>y працює тільки в Python 2.6.
x>y, x<y, x>=y, x<=y Оператори порівняння
x is y, x is not y Перевірка ідентичності об’єктів
x in y, x not in y Для ітерованих об’єктів та множин
not x Логічне заперечення
x and y Логічний оператор І (значення y обчислюється тільки якщо значення x є істинне
x or y Логічна операція АБО (значення y обчислюється тільки якщо значення x не істинне)
x if y else z Трьохмісний оператор вибору (значення x обчислюється тільки якщо значення y істинне)
lambda args: expression Створення анонімної функції
yield x Підтримка протоколу send у функціях-генераторах (у версіях Python 2.5 і вище)

Оператори можуть утворювати складні вирази. Інтерпретатор проводить обчислення у виразах згідно з пріоритетом операторів (див. таблицю). З допомогою круглих дужок () можна змінювати пріоритет операторів у виразах. Оператори, які розміщуються в дужках виконуються в першу чергу.

Приклади виразів.

x + y
a < b < c
D[slice(I,J,K)]
a < b and b < c
2 * (a + b)

 

4. Яка послідовність виконання операторів з однаковим пріоритетом?

Якщо у виразі оператори мають однаковий пріоритет (див. таблицю), то вони виконуються в напрямку зліва направо за винятком оператора піднесення до степеня (**), який виконується справа наліво.

 


Зв’язані теми