Оператори на Python: аритметични, сравнителни, логически и др.

В този урок ще научите всичко за различните видове оператори в Python, техния синтаксис и как да ги използвате с примери.

Видео: Оператори в Python

Какво представляват операторите в python?

Операторите са специални символи в Python, които извършват аритметични или логически изчисления. Стойността, върху която работи операторът, се нарича операнд.

Например:

 >>> 2+3 5

Тук +е операторът, който извършва добавяне. 2и 3са операндите и 5е резултатът от операцията.

Аритметични оператори

Аритметичните оператори се използват за извършване на математически операции като събиране, изваждане, умножение и др.

Оператор Значение Пример
+ Добавете два операнда или единен плюс x + y + 2
- Извадете десния операнд от левия или единен минус x - y - 2
* Умножете два операнда х * у
/ Разделете левия операнд на десния (винаги се получава в плаващ) x / y
% Модул - остатък от разделянето на левия операнд на десния x% y (остатък от 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
или Вярно, ако някой от операндите е истина x или y
не Вярно, ако операндът е false (допълва операнда) не х

Пример 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)
| Побитово ИЛИ x | y = 14 ( 0000 1110)
~ Побитово НЕ ~ x = -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.

Интересни статии...