У цьому посібнику ви дізнаєтеся все про різні типи операторів у Python, їх синтаксис та те, як ними користуватися на прикладах.
Відео: Оператори в Python
Що таке оператори в python?
Оператори - це спеціальні символи в Python, які виконують арифметичні або логічні обчислення. Значення, над яким працює оператор, називається операндом.
Наприклад:
>>> 2+3 5
Ось +
оператор, який виконує додавання. 2
і 3
є операндами і 5
є результатом операції.
Арифметичні оператори
Арифметичні оператори використовуються для виконання таких математичних операцій, як додавання, віднімання, множення тощо.
Оператор | Значення | Приклад |
---|---|---|
+ | Додайте два операнди або одинарний плюс | x + y + 2 |
- | Відніміть правий операнд від лівого або одинарного мінусу | х - у- 2 |
* | Помножте два операнди | х * у |
/ | Поділіть лівий операнд на правий (завжди перетворюється на плаваючий) | х / у |
% | Модуль - залишок від ділення лівого операнда на правий | x% y (залишок x / y) |
// | Поділ підлоги - поділ, що приводить до цілого числа, скоригованого ліворуч у числовій лінії | х // у |
** | Експонента - лівий операнд, піднятий до рівня правого | x ** y (x до потужності y) |
Приклад 1: Арифметичні оператори в Python
x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 print('x ** y =',x**y)
Вихідні дані
x + y = 19 x - y = 11 x * y = 60 x / y = 3,75 x // y = 3 x ** y = 50625
Оператори порівняння
Для порівняння значень використовуються оператори порівняння. Він повертається True
або False
відповідно до умови.
Оператор | Значення | Приклад |
---|---|---|
> | Більше ніж - Істинно, якщо лівий операнд більший за правий | x> y |
< | Менше ніж - Істинно, якщо лівий операнд менший за правий | x <y |
== | Дорівнює - Істинно, якщо обидва операнди рівні | x == y |
! = | Не дорівнює - Істинно, якщо операнди не рівні | x! = y |
> = | Більше або дорівнює - Істинно, якщо лівий операнд більше або дорівнює правому | x> = y |
<= | Менше або дорівнює - Істинно, якщо лівий операнд менше або дорівнює правому | x <= y |
Приклад 2: Оператори порівняння в Python
x = 10 y = 12 # Output: x> y is False print('x> y is',x>y) # Output: x < y is True print('x < y is',x= y is False print('x>= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y)
Вихідні дані
x> y - False x = y - False x <= y - True
Логічні оператори
Логічні оператори є and
, or
, not
операторами.
Оператор | Значення | Приклад |
---|---|---|
і | Істинно, якщо обидва операнди є істинними | х і у |
або | Істинно, якщо будь-який з операндів відповідає дійсності | x або y |
ні | Істинно, якщо операнд хибний (доповнює операнд) | не х |
Приклад 3: Логічні оператори в Python
x = True y = False print('x and y is',x and y) print('x or y is',x or y) print('not x is',not x)
Вихідні дані
x і y - False x або y - True, не x - False
Ось таблиця правди для цих операторів.
Побітові оператори
Побітові оператори діють на операнди так, ніби це рядки двійкових цифр. Вони діють потроху, звідси і назва.
Наприклад, 2 - 10
в двійковому, а 7 - 111
.
У таблиці нижче: Нехай x = 10 ( 0000 1010
у двійковій формі) та y = 4 ( 0000 0100
у двійковій формі)
Оператор | Значення | Приклад |
---|---|---|
& | Побітове І | x & y = 0 ( 0000 0000 ) |
| | Побітове АБО | х | y = 14 ( 0000 1110 ) |
~ | Побітове НЕ | ~ х = -11 ( 1111 0101 ) |
^ | Побітовий XOR | x y = 14 ( 0000 1110 ) |
>> | Побітове зрушення вправо | x >> 2 = 2 ( 0000 0010 ) |
<< | Побітове зсув ліворуч | x << 2 = 40 (0010 1000 ) |
Assignment operators
Assignment operators are used in Python to assign values to variables.
a = 5
is a simple assignment operator that assigns the value 5 on the right to the variable a on the left.
There are various compound operators in Python like a += 5
that adds to the variable and later assigns the same. It is equivalent to a = a + 5
.
Operator | Example | Equivalent to |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x 5 |
>>= | x>>= 5 | x = x>> 5 |
<<= | x <<= 5 | x = x << 5 |
Special operators
Python language offers some special types of operators like the identity operator or the membership operator. They are described below with examples.
Identity operators
is
and is not
are the identity operators in Python. They are used to check if two values (or variables) are located on the same part of the memory. Two variables that are equal does not imply that they are identical.
Operator | Meaning | Example |
---|---|---|
is | True if the operands are identical (refer to the same object) | x is True |
is not | True if the operands are not identical (do not refer to the same object) | x is not True |
Example 4: Identity operators in Python
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = (1,2,3) y3 = (1,2,3) # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3)
Output
False True False
Here, we see that x1 and y1 are integers of the same values, so they are equal as well as identical. Same is the case with x2 and y2 (strings).
But x3 and y3 are lists. They are equal but not identical. It is because the interpreter locates them separately in memory although they are equal.
Membership operators
in
і not in
є операторами членства в Python. Вони використовуються для перевірки того, чи знайдено значення чи змінну в послідовності (рядок, список, кортеж, набір та словник).
У словнику ми можемо перевірити лише наявність ключа, а не значення.
Оператор | Значення | Приклад |
---|---|---|
в | Істинно, якщо значення / змінна знайдено в послідовності | 5 в х |
не в | Істинно, якщо значення / змінна не знайдено в послідовності | 5 не в х |
Приклад №5: Оператори членства в Python
x = 'Hello world' y = (1:'a',2:'b') # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y)
Вихідні дані
True True True False
Тут 'H'
є в x, але 'hello'
немає в x (пам’ятайте, Python чутливий до регістру). Подібним чином, 1
є ключовим і 'a'
є значенням у словнику y. Отже, 'a' in y
повертається False
.