Оператори (операції) для роботи з числовими об’єктами. Таблиця пріоритетності операторів
Зміст
- 1. Поняття про оператори для обробки чисел у виразах
- 2. Класифікація операцій для роботи з числовими об’єктами
- 3. Оператори виразів. Таблиця пріоритетності операторів
- 4. Яка послідовність виконання операторів з однаковим пріоритетом?
- Зв’язані теми
Пошук на інших ресурсах:
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. Яка послідовність виконання операторів з однаковим пріоритетом?
Якщо у виразі оператори мають однаковий пріоритет (див. таблицю), то вони виконуються в напрямку зліва направо за винятком оператора піднесення до степеня (**), який виконується справа наліво.
⇑
Зв’язані теми
- Представлення даних в Python. Поняття об’єкту. Ідентичність, тип, значення об’єкту. Функції id(), type(). Оператори is, is not
- Літерали. Створення (генерування) об’єкту. Базові типи об’єктів
- Числа. Представлення чисел різних типів. Базові числові типи. Функції перетворення чисел
⇑