Операторы в Python

Операторы – это важное понятие в программировании. Они используются для выполнения базовых математических операций, операций сравнения, вычисления логических выражений и много другого. В этой статье мы рассмотрим, какие есть операторы в Python.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU

Арифметические операторы в Python

Для выполнения основных математических операций в языке Python используются арифметические операторы. Некоторые из них, вероятно, знакомы вам из курса математики начальной школы. А те, которые вдруг не знакомы, интуитивно понятны и просты для восприятия.

Вот краткая шпаргалка по арифметическим операторам в Python:

ОператорПример использованияНазваниеОписание
+a + bСложениеСкладывает переменные а и b
a – bВычитаниеВычитает переменную b из переменной a
*a * bУмножениеУмножает переменную a на переменную b
/a / bДелениеДелит переменную a на переменную b
%a % bДеление по модулюДает остаток от деления переменной а на переменную b
//a // bЦелочисленное делениеДелит переменную а на переменную b и округляет результат до целочисленного значения (в меньшую сторону)
**a ** bВозведение в степеньВозводит переменную а в степень b

Теперь давайте подробнее разберем, как использовать каждый из этих операторов.

Оператор сложения (+)

Оператор сложения (+) суммирует два числовых значения. Это бинарный оператор, поскольку он принимает два значения. Например:

sum = 1 + 2
print(sum)

Результат: 3

Унарный оператор +

Как и в математике, + можно использовать как унарный оператор. Это означает, что его можно поместить перед числом, чтобы подчеркнуть его положительность. Например:

temperature = +30
print(temperature)

# Результат:
# 30

Однако на практике он практически не применяется, так как никакого действия не производит.

Оператор вычитания (-)

Оператор вычитания производит вычитание одного числа из другого. Например:

diff = 1 - 2
print(sum)

# Результат:
# -1

Унарный оператор –

Оператор - можно использовать и как унарный оператор, просто поместив его перед числовым значением. Тогда он будет менять знак числа на противоположенный. То есть положительное число станет отрицательным, а отрицательное – положительным.

Например:

n = -10
p = -n

print(p)

# Результат:
# 10

Оператор умножения (*)

Оператор умножения умножает два числовых значения. Например:

prod = 10 * 3
print(prod)

# Результат:
# 30

Оператор деления (/)

Оператор деления делит одно число на другое. Например:

fraction = 10.0 / 4.0
print(fraction)

# Результат:
# 2.5

Оператор деления по модулю (%)

В математике деление по модулю возвращает остаток от деления. Для примера рассмотрим выражение 7 mod 2 = 1. Число 7 нацело разделить на 2 невозможно, в остатке остается 1. В Python оператор деления по модулю обозначается знаком процента (%).

Давайте подсчитаем, сколько кусочков пиццы останется, если их было 15, а едоков четверо.

pizzaSlices = 15
eaters = 4

leftoverSlices = 15 % 4

print(leftoverSlices)

# Результат:
# 3

Результат равен трем, потому что нет возможности поровну разделить 15 ломтиков пиццы на 4 человек. По справедливости каждый получает по 3 ломтика, то есть всего будет съедено 12. Тогда остается 3 ломтика.

Оператор целочисленного деления (//)

Данный оператор делит одно числовое значение на другое и округляет результат в меньшую сторону до ближайшего целого числа. Например:

result = 10 // 3
print(result)

# Результат:
# 3

Результат равен 3, потому что 10/3 = 3,333…., а ближайшее целое число ниже этого значения равно 3. Заметьте, что данный оператор всегда округляет в меньшую сторону.

Давайте рассмотрим другой пример:

result = 10 // 6
print(result)

# Результат:
# 1

Результат деления 10 на 6 равен 1,6667, а следующее целое число ниже полученного значения равно 1. Таким образом, несмотря на то, что по правилам обычного округления результат был бы равен 2, оператор целочисленного деления дает в результате 1.

Оператор возведения в степень (**)

Как легко догадаться, этот оператор возводит число в определенную степень. В языке Python он обозначается двойной звездочкой – **.

Возведение в степень означает умножение числа само на себя столько раз, сколько указано в показателе степени. Например, 2³ = 2 * 2 * 2 = 8.

Рассмотрим возведение в степень в коде:

result = 4 ** 3
print(result)

# Результат:
# 64

Это эквивалентно 4 * 4 * 4.

Сокращенные формы операторов присваивания

В языке Python в порядке вещей обновлять существующие значения. Например, давайте создадим переменную counter (счетчик) и начнем ее увеличивать:

counter = 0

counter = counter + 1
counter = counter + 1
counter = counter + 1

print(counter)

# Результат:
# 3

Поскольку подобное обновление существующего значения является очень распространенной операцией, для нее есть сокращение. В Python это называется сокращенным присваиванием.

Чтобы обновить значение, мы объединяем оператор присваивания (=) с любым из арифметических операторов (+, -, *, /, **, %, //).

Например, давайте повторим предыдущий пример, но при добавлении значений к счетчику будем использовать сокращенное присваивание:

counter = 0

counter += 1
counter += 1
counter += 1

print(counter)

Здесь выражение counter += 1 эквивалентно counter = counter + 1.

Вот примеры сокращенного присваивания с другими арифметическими операторами:

s = 0
s += 1
print(s) # s is now 1

d = 10
d -= 5
print(d) # d is now 5

m = 5
m *= 10
print(m) # m is now 50

n = 10
n /= 2
print(n) # n is now 5.0

x = 16
x %= 6
print(x) # x is now 4

y = 10
y //= 4
print(y) #y is now 2

z = 4
z **= 3
print(z) #z is now 64

Операторы сравнения в Python

В Python мы постоянно имеем дело с данными. Эти данные необходимо время от времени сравнивать друг с другом. Для этого в языке Python есть шесть операторов сравнения.

Вот краткая шпаргалка по этим операторам:

ОператорПример использованияИмяОписание
==a == bПроверка на равенствоЕсли значение а равно значению b, то возвращается True. В противном случае возвращается False
!=a != bПроверка на неравенствоЕсли значение а не равно значению b, то возвращается True. В противном случае возвращается False
<a < bМеньшеЕсли значение a меньше b, то возвращается True. В противном случаев возвращается False
<=a <= bМеньше либо равноЕсли значение a меньше либо равно b, то возвращается True. В противном случаев возвращается False
>a > bБольшеЕсли значение a больше b, то возвращается True. В противном случаев возвращается False
>=a >= bБольше либо равноЕсли значение a больше либо равно b, то возвращается True. В противном случаев возвращается False

Теперь давайте рассмотрим каждый из этих операторов отдельно.

Оператор проверки на равенство (==)

Оператор проверки на равенство проверяет, равны ли два значения друг другу. Он обозначается двойным знаком равенства ==.

Возникает вопрос, а почему знак равенства двойной, а не одинарный? Это связано с тем, что одиночный знак равенства зарезервирован за оператором присваивания.

Например, давайте сравним два числа:

a = 10
b = 10

print(a == b)

# Результат:
# True

Заметим также, что производить аналогичное сравнение можно и между строками:

name1 = "Alice"
name2 = "Alice"

print(name1 == name2)

# Результат:
# True

Оператор проверки на неравенство (!=)

Для этого оператора используется обозначение !=. Если два сравниваемых значения не равны друг другу, данный оператор возвращает True, в противном случае возвращает False. Например:

a = 10
b = 10

print(a != b)

# Результат:
# False

Оператор меньше ( < )

Чтобы проверить, меньше ли одно значение, чем другое, используется оператор меньше <. Он ставится между двумя сравниваемыми значениями. Например:

result = 1 < 2
print(result)

# Результат:
# True

Оператор меньше либо равно (<=)

Иногда интересно знать не превышает ли одно значение другое. Для такой проверки используется оператор меньше либо равно <=. Он получается посредством объединения знака меньше и знака равенства. Например:

print(2 <= 2)

# Результат:
# True

Оператор больше (>)

Для проверки, больше ли одно значение, чем другое, используется оператор больше >. Он также помещается между сравниваемыми значениями. Например:

print(20 > 2)

# Результат:
# True

Оператор больше либо равно (>=)

Иногда бывает необходимо убедиться, что одно значение равно другому либо превышает его. Для этого существует оператор больше либо равно >=. Например:

result = 8 >= 3
print(result)

# Результат:
# True

Изучив основы операторов сравнения, давайте теперь поговорим об их запутанном и неправильном поведении при сравнении чисел с плавающей запятой.

Погрешность при сравнении чисел типа float

Взглянем на следующий фрагмент кода, в котором мы сравниваем два числа с плавающей запятой (типа float):

print(3.6 == 1.3 + 2.3)

# Результат:
# False

Очевидно, что результат должен быть True. Но в языке Python оно вычисляется как False. Это происходит из-за погрешности при операциях с числами с плавающей запятой.

В памяти компьютера недостаточно места для точного представления конкретных чисел с плавающей запятой.

Например, рассмотрим число 1/3. Его десятичное представление равно 0.3333333….. , где цифра 3 повторяется. Чтобы точно записать это число, цифру 3 после точки нужно будет повторять бесконечно, что очевидно невозможно.

Похожая логика применима к операциям с плавающей запятой в Python.

Для представления чисел в компьютере используется двоичная система счисления. Подобно нашей десятеричной системе, в двоичной системе есть числа, цифры в которых повторяются бесконечно. И для их хранения потребовалась бы бесконечная память. Поэтому некоторые числа в десятичном выражении обрезаются, что приводит к небольшой погрешности.

Итак, некоторые числа типа float (с плавающей запятой) немного не точны. И из-за этой неточности сравнение чисел с плавающей запятой теряет смысл.

Чтобы проверить равенство двух чисел с плавающей запятой, вместо этого нужно проверить близость числа к некоторому значению. При небольших неточностях в числах a и b их разность близка к нулю. Например:

tolerance = 0.000001

areEqual = abs((1.3 + 2.3) - 3.6) < tolerance

print(areEqual)

# Результат:
# True

Поскольку абсолютное значение разности между 1.3 + 2.3 и 3.6 меньше, чем 0.000001, числа должны быть очень близки друг к другу. Другими словами, они равны.

Также надо заметить, что неточность при вычислении чисел с плавающей запятой не является характерной именно для Python. Такие ошибки присущи абсолютно всем языкам программирования.

Логические операторы в Python

В языке Python можно комбинировать логические выражения с логическими операторами.

Логические операторы используются в повседневной жизни. Пример: «Если жарко и солнечно, пойдем на пляж». Хотя вы можете этого не замечать, но в этом самом предложении используется логический оператор «и» для объединения двух логических выражений.

Давайте перефразируем предложение, чтобы лучше понять, что оно означает: «Если это солнечный день и если это жаркий день, пойдем на пляж».

Теперь разобьем это предложение на три части:

  1. Это солнечный день.
  2. И
  3. Это жаркий день.

Первая часть – “Это солнечный день” – является логическим выражением. Его результатом может быть либо True, либо False. Вторая часть – “И” – это логический оператор. Он связывает первую и третью части выражения. И наконец третья часть – “Это жаркий день”. Она тоже является логическим выражением с двумя результатами, True либо False.

Если эти два логических выражения верны одновременно, мы идем на пляж. А в противном случае мы этого делать не будем.

Если вкратце, то в этом и есть вся суть логических выражений и логических операторов. Теперь давайте посмотрим на логические операторы в Python.

Логические выражения и логические операторы в Python

В языке Python есть три логических оператора:

  • not
  • or
  • and

Вот шпаргалка, которая поможет вам быстро понять, как они работают:

ОператорПример использованияОписание
notnot xМеняет значение на противоположенное.
Если x True, то результат – False. И наоборот.
ora or bTrue, если a или b равны True. В противном случае False.
anda and bTrue, если a и b равны True. В противном случае False.

Теперь, когда вы понимаете, как работают логические операторы в Python, превратим приведенный выше пример из реальной жизни в код:

isSunny = True
isHot = False

beachTime = isSunny and isHot

print(beachTime)

# Результат:
# False

Давайте рассмотрим другой пример. В этом примере человек занят, если он работает или учится:

isStudying = False
isWorking = True

isBusy = isStudying or isWorking

print(isBusy)

# Результат:
# True

Как можно заметить, несмотря на то, что переменная isStudying имеет значение False, человек все равно занят, потому что переменная isWorking имеет значение True.

Теперь давайте посмотрим на пример работы оператора not. Оператор not инвертирует логическое значение, так что True становится False и наоборот. Например:

isRainy = True
isSunny = not isRainy

print(isSunny)

# Результат:
# False

То есть сейчас не солнечно, потому что дождливо. Переменная isSunny имеет значение, обратное значению переменной isRainy.

Обратите внимание, что логические операторы в Python можно использовать для объединения любых логических выражений. Например, можно объединить результаты двух (или более) сравнений:

print(1 == 2 or 10 < 20)

# Результат:
# True

Логический контекст

В Python объекты и выражения обычно не являются логическими (True или False). Но их можно считать истинными или ложными в логическом смысле.

Иными словами, любое значение в Python в логическом смысле становится либо истинным (True), либо ложным (False). Например, 0 в логическом контексте False, а 1 – True. По сути любое ненулевое значение считается истинным.

Ниже приведены все значения, которые в логическом смысле можно считать ложными (False):

  • собственно False
  • 0 и 0.0
  • пустая строка
  • пустые составные объекты данных, например пустой список или кортеж
  • None. Это специальный тип данных, который обозначает отсутствие значения

Все остальные значения в логическом контексте имеют значение True.

Для преобразования значений в логические величины используется встроенная функция bool(). Например, давайте превратим число 0 в логическую величину:

booleanZero = bool(0)
print(booleanZero)

# Результат:
# False

Логические выражения с нелогическими значениями

В предыдущем разделе мы узнали, что все значения в Python являются в некотором смысле «истинными» или «ложными». Это позволяет применять к ним логические операторы.

Лучше всего это продемонстрировать на примерах с использованием различных логических операторов.

Оператор or с нелогическими значениями

Как вы узнали ранее, оператор or возвращает значение False только в том случае, если оба сравниваемых значения равны False. В противном случае он всегда возвращает True. Например:

result = True or False
print(result)

# Результат:
# True

Теперь давайте отвлечемся от логических значений и применим оператор or к двум целым числам:

result = 0 or 1
print(result)

# Результат:
# 1

Результат равен 1, потому что в логическом контексте 0 — это False, а 1 — True. Как мы выяснили ранее, результат оператора or может быть False, только если все сравниваемые величины имеют значение False. В данном примере значение 1 в логическом контексте истинно (True), соответственно результат такой же – “истинный” – в логическом смысле.

Рассмотрим теперь другой пример. Давайте применим оператор or к двум «истинным» значениям и посмотрим, что мы получим:

result = 10 or 5
print(result)

# Результат:
# 10

В качестве результата выведено значение первой величины. Но почему? Это происходит из-за того, что в Python называется сокращенными вычислениями.

Если вкратце, у нас первое значение равно как бы True или “истинно”, а это значит, что результат работы оператора or также будет “True” или то, что считается True. Поэтому значение второй величины даже не рассматривается. И в качестве результата представлено значение первой величины.

Чуть позже мы более подробно рассмотрим сокращенные вычисления.

Оператор and с нелогическими значениями

Давайте повторим приведенные выше примеры, заменив оператор or на оператор and.

Как мы узнали ранее, оператор and возвращает значение True, только если оба сравниваемых значения равны True. В противном случае всегда возвращается значение False. Например:

result = True and False
print(result)

# Результат:
# False

Теперь давайте используем оператор and c целочисленными значениями:

result = 1 and 0
print(result)

# Результат:
# 0

Результат 0, потому что в логическом контексте 0 — это False, а 1 — True. А результат оператора and может быть True, только если значение всех величин True. Здесь второе значение 0 является False, поэтому и результат False, то есть 0.

Давайте посмотрим на другой пример:

result = 10 and 5
print(result)

# Результат:
# 5

На этот раз результат равен 5. Но почему не 10?

Первая цифра 10 в логическом контексте означает True. Но для определения результат работы оператора and этого недостаточно. Если следующее значение будет True, то результат тоже True, а если False, то и результат False. Поэтому второе значение также будет проверяться.

Итак, второе значение в данном случае это решающий фактор. Поэтому оно и выведено в качестве результата.

Не пугайтесь, если все это выглядит несколько запутанно: мы вернемся к этому чуть позже. Но прежде давайте рассмотрим пример с оператором not.

Оператор not с нелогическими значениями

Оператор not непосредственно преобразует значения True в False и наоборот. Например:

result = not 10
print(result)

# Результат:
# False

Результат False, потому что число 10 в логическом смысле это True. А оператор not меняет это значение на противоположенное, то есть на False.

Давайте рассмотрим еще один похожий пример:

result = not 0.0
print(result)

# Результат:
# True

В логическом смысле 0.0 это False, поэтому оператор not преобразует результат в True.

Теперь давайте поговорим подробней о сокращенных вычислениях.

Сокращенные вычисления и цепочки операторов

В предыдущих примерах мы узнали, как создавать простые логические выражения, объединяя два выражения с логическим оператором. Например:

truth = False or True

# Результат:
# True

Но в случае необходимости можно создавать более длинные цепочки операторов. Взгляните на следующую цепочку:

v1 or v2 or v2 or ... vN

По определению все это выражение истинно, только если все элементы vn имеют значение True.

Когда Python сталкивается с цепочкой такого типа, значения вычисляются слева направо. Как только одно из значений определяется как False, другие значения не проверяются, поскольку результат автоматически становится False.

Та же логика применима к цепочкам нелогических значений. Результатом является значение, на котором закончилась проверка.

Чтобы это понять, давайте посмотрим несколько примеров:

result = True and True and False and True
print(result)

# Результат:
# False

В этом выражении:

  1. Python вычисляет первое значение
  2. То же самое касается второго значения. Так как оно равно True, вычисления продолжаются
  3. Третье значение — False. Таким образом, все выражение равно False, независимо от того, каковы остальные значения.

Давайте теперь посмотрим на аналогичный пример с нелогическими значениями:

result = 45 and 0 and 322 and 98
print(result)

# Результат:
# 0

Вычисление данного выражение завершается на числе 0, потому что 0 соответствует значению False. А если в цепочке операторов and есть хоть одно значение False, то все выражение будет равно False. Соответственно, значение, на котором завершится вычисление, и будет результатом. В данном случае это число 0.

Как использовать сокращенные вычисления в Python

Реализация сокращенных вычислений в Python имеет несколько практических применений.

Вот два наиболее распространенных варианта использования:

  • изолирование ошибок
  • выбор значений по умолчанию

Давайте кратко разберем оба.

Изолирование ошибок при помощи сокращенных вычислений

Давайте поделим одно число на другое:

x = 10
y = 5

result = x / y

print(result)

# Результат:
# 2.0

С этим кодом нет никаких проблем. Это неудивительно, потому что деление чисел — вполне допустимая операция. Но мы знаем из элементарной математики, что на 0 делить нельзя. Если в Python делить на 0, то будет выдана ошибка. Например:

x = 10
y = 0

result = x / y

print(result)

# Результат:
# ZeroDivisionError: division by zero

Подобной ошибки можно избежать при помощи сокращенных вычислений. Из предыдущей секции мы узнали, что вычисление цепочки операторов and прекращается после получения значения False. Давайте используем эту идею, чтобы защититься от деления на 0:

x = 10
y = 0

result = y != 0 and x / y

print(result)

# Результат:
# False

Как можно заметить, хоть в программе и есть деление на 0, но она не рушится. Вместо этого она выдает результат False.

Чтобы это понять, давайте разберем следующее выражение:

y != 0 and x / y

Благодаря сокращенным вычислениям, если y != 0 имеет значение False, результат всего выражения равен False. Смысл в том, что в таком случае выражение справа не вычисляется и деление на ноль никогда не произойдет.

Но в случае, когда y не равен нулю, значение первого выражения равно True, и результатом всего выражения будет результат деления справа.

Например:

x = 10
y = 5

result = y != 0 and x / y

print(result)

# Результат:
# 2.0

Так как y != 0 дает True, вычисления продолжаются, и деление x на y определяет результат всего выражения. Это один из примеров полезного применения сокращенных вычислений в Python.

Прежде чем пойти дальше, давайте взглянем на еще один пример.

Выбор значения по умолчанию при помощи сокращенных вычислений

Еще одно полезное применение сокращенных вычислений – это выбор значений по умолчанию. Рассмотрим следующий пример:

name = "" or "there"
print("Hello", name)

# Результат:
# Hello there

Здесь левая часть выражения является пустой строкой, поэтому по умолчанию выбирается ‘there’. Но почему?

Обратите внимание на это выражение:

"" or "there"

Как мы уже узнали ранее, в логическом контексте пустая строка эквивалентна значению False. В данном случае первая строка дает False, и вычисление переходит на вторую строку, которая и дает результат.

Если первая строка непустая, она в логическом контексте истинна и вычисления останавливаются. В качестве результата возвращается первая строка:

name = "Alice" or "there"
print("Hello", name)

# Результат:
# Hello Alice

Цепочки сравнений

Теперь, когда мы познакомились с операторами сравнения и логическими операторами, можно изучить красивый синтаксис для цепочек сравнений.

Например, давайте проверим, что наше значение меньше 1000 и больше 0:

value = 10
isInRange = value < 1000 and value > 0

print(isInRange)

# Результат:
# True

Этот код прекрасно работает. Однако его можно сделать более читаемым, объединив оба сравнения в цепочку. Вот как это будет выглядеть:

value = 10

isInRange = 0 < value < 1000

print(isInRange)

# Результат:
# True

Это выражение легче читать. Кроме того, это похоже на то, как мы определяем диапазоны в математике.

Битовые операторы в Python

В дополнение к основным числовым операторам, о которых мы говорили ранее, в Python есть операторы для выполнения побитовых операций с целыми числами.

Битовые операторы используются гораздо реже, чем основные математические операторы, поэтому мы не особо будем углубляться в детали. Однако полезно знать, что такие операторы существуют.

Вот краткая шпаргалка по битовым операторам в Python:

ОператорПример использованияИмяОписание
&a & bбитовое AND (И)Логическая операция AND между битовыми последовательностями. Производится с каждым битом в соответствующей позиции.
|a | bбитовое OR (ИЛИ)Логическая операция OR между битовыми последовательностями. Производится с каждым битом в соответствующей позиции.
~~aбитовое NOT (НЕТ)Логическое отрицание каждого бита в соответствующей позиции в битовой последовательности.
^a ^ bбитовое XOR (исключающее OR)Логическая операция XOR между битовыми последовательностями. Производится с каждым битом в соответствующей позиции.
>>a >> nсдвиг вправо на n позицийКаждый бит сдвигается вправо на n позиций.
<<a << nсдвиг влево на n позицийКаждый бит сдвигается влево на n позиций.

Операторы тождественности

В языке Python вы можете проверить уникальный идентификатор объекта с помощью функции id(). Например, чтобы проверить, ссылаются ли две переменные на один и тот же объект, проверьте, совпадают ли их идентификаторы.

Наприемер:

x = 10
y = x

print(id(x) == id(y))

# Результат:
# True

Это показывает, что переменные x и y указывают на один и тот же объект в памяти.

Но вместо функции id() можно использовать два специальных оператора: is и is not. При помощи оператора is можно убедиться, что два объекта имеют одинаковый идентификатор. Оператор is not поможет удостовериться, что два объекта имеют разные идентификаторы.

Давайте перепишем приведенный выше пример, используя оператор is:

x = 10
y = x

print(x is y)

# Результат:
# True

Этот подход чище и легче читается по сравнению с использованием функции id().

Предупреждение: не используйте оператор is для проверки равенства. Используйте его только для того, чтобы узнать, ссылаются ли две переменные на один и тот же объект в памяти!

Теперь, когда вы познакомились со всеми основными операторами Python, давайте обсудим порядок их вычисления или, иными словами, приоритет этих операторов.

Приоритет операторов

Как вы узнали в начальной школе, не все математические операторы одинаковы. Операторы + и применяются после * или / (то есть сначала производится умножение или деление, а затем сложение или вычитание).

Понятие, определяющее порядок вычисления операторов, называется приоритетом. Приоритет показывает, какой оператор выполняется вначале. Та же логика используется и в языке Python. Например:

result = 1 + 10 * 3 - 8 / 2
print(result)

# Результат:
# 27.0

Давайте визуализируем приоритет этих операций при помощи скобок:

result = 1 + (10 * 3) - (8 / 2)
       = 1 + 30 - 4
       = 27 

Важно понимать приоритет арифметических операций. Также полезно знать приоритет логических операторов (OR, AND, NOT). Приоритет остальных операторов не так важен.

Ниже представлен список всех операторов в порядке убывания приоритетности (чем ниже оператор в списке, тем ниже у него приоритет):

  • **
  • +x, -x, ~x
  • *, /, //, %
  • +, -
  • <<, >>
  • &
  • ^
  • |
  • is, is not, <, <=, >, >=, !=, ==
  • not
  • and
  • or

Заключение

В этом руководстве мы разобрали все операторы в Python. Арифметические операторы позволяют выполнять базовые математические операции. Операторы сравнения – сравнивать данные. Логические операторы – подключать логические выражения, например сравнения. Битовые операторы дают возможность работать с целыми числами на битовом уровне. Операторы тождественности позволяют проверить, являются ли два объекта одним и тем же объектом в памяти.

Все операторы в Python имеют определенный приоритет. Он определяет, какие операции выполняются первыми, если используется несколько операторов.

Спасибо за внимание!

Перевод статьи Artturri Jalli “Operators in Python: Arithmetic, Logical, Comparison [2022]”.

4 комментария к “Операторы в Python”

  1. Пингбэк: Конкатенация строк в Python

  2. Пингбэк: Инкремент и декремент значений в Python

  3. Пингбэк: Операторы in и not in в Python

  4. Пингбэк: Как проверить, содержит ли строка подстроку

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *