Операторы Python позволяют выполнять стандартную обработку переменных. Иными словами, это специальные символы, которые могут управлять значениями одного или нескольких операндов. В этой статье мы рассмотрим различные типы операторов с примерами, а также поговорим о приоритетности операторов.
Список операторов Python
Операторы Python можно разделить на несколько категорий:
- Операторы присваивания
- Арифметические операторы
- Логические операторы
- Операторы сравнения
- Битовые операторы
Остановимся подробнее на каждом типе.
Операторы присваивания Python
Операторы присваивания включают базовый символ присваивания – символ “равно” (=).
Однако, чтобы упростить код и уменьшить избыточность, Python также поддерживает арифметические операторы присваивания.
К ним относится оператор +=, который присваивает сумму двух операндов левому операнду, оператор //=, который присваивает результат деления, и другие.
Вот список всех арифметических операторов присваивания в Python.
| Оператор | Описание | 
| += | 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 | 
Как использовать операторы присваивания
# take two variable, assign values with assignment operators a=3 b=4 print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a+b a+=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a*b a*=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a/b a/=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a%b a%=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a**b ( exponent operator) a**=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a//b ( floor division) a//=b print("a: "+str(a)) print("b: "+str(b))
Арифметические операторы Python
| Оператор | Описание | Пример | 
| + | Складывает два числа | sum = a + b | 
| – | Вычитает одно число из другого | difference = a – b | 
| * | используется для умножения двух чисел. Если вы попробуете умножить строку и целое число, эта операция повторит данную строку указанное количество раз. | mul = a*b>>> “Hi”*5 | 
| ‘HiHiHiHiHi’ | ||
| / | используется для деления двух чисел | div = b/a | 
| % | Модуль, остаток от деления | mod = a%b | 
| ** | Возведение в степень | 
#create two variables a=100 b=200 # addition (+) operator print(a+b) # subtraction (-) operator print(a-b) # multiplication (*) operator print(a*b) # division (/) operator print(b/a) # modulus (%) operator print(a%b) # prints the remainder of a/b # exponent (**) operator print(a**b) #prints a^b
Операторы сравнения Python
| оператор | описание | Пример | 
| == | Возвращает значение True, если два операнда равны, в противном случае выдает False. | flag = a == b | 
| != | возвращает True, если два операнда не равны, в противном случае выдает False. | flag = a != b | 
| > | Возвращает значение True, если левый операнд больше, чем правый, в противном случае выдает False. | flag = a > b | 
| < | Возвращает значение True, если левый операнд меньше, чем правый, в противном случае выдает False. | flag = a < b | 
| >= | Возвращает значение True, если левый операнд больше или равен правому, в противном случае выдает False. | flag = a > b | 
| <= | Возвращает значение True, если левый операнд меньше или равен правому, в противном случае выдает False. | flag = a < b | 
# create two variables a=100 b=200 # (==) operator, checks if two operands are equal or not print(a==b) # (!=) operator, checks if two operands are not equal print(a!=b) # (>) operator, checks left operand is greater than right operand or not print(a>b) # (<) operator, checks left operand is less than right operand or not print(a<b) #(>=) operator, checks left operand is greater than or equal to right operand or not print(a>=b) # (<=) operator, checks left operand is less than or equal to right operand or not print(a<=b)
Битовые операторы Python
| Оператор | Описание | Пример | 
| & | Битовый оператор И (AND) | x = 10 & 7 = 2 | 
| Binary OR Operator | ||
| ^ | Битовое исключающее ИЛИ (XOR) | x = 10 ^ 7 = 13 | 
| ~ | Битовый оператор НЕТ | x = ~10 = -11 | 
| << | Битовый оператор сдвига влево | x = 10<<1 = 20 | 
| >> | Битовый оператор сдвига вправо | x = 10>>1 = 5 | 
#create two variables a=10 # binary 1010 b=7 # binary 0111 # Binary AND (&) operator, done binary AND operation print(a&b) # Binary OR (|) operator, done binary OR operation print(a|b) # Binary XOR (^) operator, done binary XOR operation print(a^b) # Binary ONEs Compliment (~) operator, done binary One's Compliment operation print(~a) # Binary Left Shift (<<) operator, done binary Left Shift operation print(a<<1) # Binary Right Shift (>>) operator, done binary Right Shift operation print(a>>1)
Логические операторы Python
| Оператор | Описание | Пример | 
| and | Логический оператор И (AND) | flag = exp1 and exp2 | 
| or | Логический оператор ИЛИ (OR) | flag = exp1 or exp2 | 
| not | Логический оператор НЕ (NOT) | flag = not(True) = False | 
#take user input as int a=int(input()) # logical AND operation if a%4==0 and a%3==0: print("divided by both 4 and 3") # logical OR operation if a%4==0 or a%3==0: print("either divided by 4 or 3") # logical NOT operation if not(a%4==0 or a%3==0): print("neither divided by 4 nor 3")
Приоритет операторов Python
Некоторые операторы Python имеют более высокий приоритет, чем другие. Особенно важно это понимать, если вы работаете с выражениями, которые содержат несколько операторов. Например, рассмотрим следующее выражение:
>>> 2+3*4
Как думаете, в какой последовательности будут выполнены эти операции? Мы можем сложить 2 и 3, а затем умножить результат на 4. Также мы можем сначала умножить 3 и 4, а затем добавить к ним 2. Как видите, разная последовательность выполнения операций дает нам разный результат – это показывает, что приоритет операторов важен.
Ниже вы найдете список операторов с указанием уровня приоритета в порядке убывания (то есть чем ниже оператор в списке, тем ниже его приоритет).
- Скобки: ()
- Возведение в степень: **
- Битовый оператор НЕТ, унарный плюс и минус: ~, +, –
- Умножение, деление, модуль: *, /, %
- Сложение и вычитание: +, –
- Правый и левый сдвиг: >>, <<
- Битовый оператор И: &
- Битовые OR и XOR: |, ^
- Операторы сравнения: ==, !=, >, <, >=, <=
- Оператор присваивания: =
Читайте также: Условные операторы в Python 3
