- Операторы и выражения в Python
- Операторы сравнения
- Логические операторы
- Арифметические операторы
- Операторы присваивания
- Побитовые операторы
- Операторы членства
- Операторы тождественности
- Приоритет операторов
- Операторы Python
- Введение в операторы Python
- Арифметические операторы Python
- Сложение (+)
- Вычитание (-)
- Умножение (*)
- Деление (/)
- Возведение в степень (**)
- Деление без остатка (//)
- Деление по модулю (остаток от деления) (%)
- Операторы сравнения
- Меньше (<)
- Больше (>)
- Меньше или равно (<=)
- Больше или равно (>=)
- Равно (==)
- Не равно (!=)
- Операторы присваивания
- Присваивание (=)
- Сложение и присваивание (+=)
- Вычитание и присваивание (-=)
- Деление и присваивание (/=)
- Умножение и присваивание (*=)
- Деление по модулю и присваивание (%=)
- Возведение в степень и присваивание (**=)
- Деление с остатком и присваивание (//=)
- Логические операторы Python
- И (and)
- Или (or)
- Не (not)
- Операторы принадлежности
- В (in)
- Нет в (not in)
- Операторы тождественности
- Это (is)
- Это не (is not)
- Битовые операторы Python
- Бинарное И (&)
- Бинарное ИЛИ (|)
- Бинарное ИЛИ НЕТ (^)
- Инвертирующий оператор (~)
- Бинарный сдвиг влево (<<)
- Бинарный сдвиг вправо (>>)
- Выводы
Операторы и выражения в Python
Большинство строк программного кода представляют собой выражения. Например: 1 + 2 — это выражение. Выражение состоит из 2 частей:
- Оператор (+) — функционал, представленный в виде символов (например + ==) или зарезервированных слов (например and not).
- Операнды (1 и 2) — это данные, над которыми производится действия.
После того как Python-интерпретатор вычислит выражение, мы можем, как в примере выше, присвоить результат переменной sum . Или, например, сразу вывести результат на экран:
Операторы сравнения
Рассмотрим простой пример — 1 + 2 == 3 .
Для проверки истинности данного условия, используется логический тип. Когда мы выполним данное выражение, в результате нам вернется True (истина) или False (ложь).
В данном примере мы используем один из операторов сравнения — «==» (равно). Всего в Python таких операторов 6:
Логические операторы
Правила выполнения логических операций соответствуют таблицам истинности . В Python 3 логических оператора:
Арифметические операторы
Арифметические операторы в Python производят арифметические операции над числами (сложение, вычитание, деление и т.д.);
- + — сложение;
- — — вычитание;
- * — умножение;
- / — деление;
- // — целочисленное деление (возвращает только целую часть от деления, значение после запятой отбрасывается);
- % — деление по модулю (возвращает остаток от деления);
- ** — возведение в степень.
Операторы присваивания
Операторы присваивания в Python работаю вполне очевидно — значение находящееся справа присваивается переменной, находящейся слева. Существует несколько разновидностей операторов присваивания:
- = — значение правого операнда присвоится левому операнду;
- += — сумма левого и правого операнда присвоится левому операнду;
- -= — разность левого и правого операнда присвоится левому операнду;
- *= — произведение левого и правого операнда присвоится левому операнду;
- /= — разделит левый операнд на правый и результат присвоится левому операнду;
- //= — результат целочисленного деления левого операнда на правый операнд присвоится левому операнду;
- %= — разделит левый операнд на правый по модулю и результат присвоится левому операнду;
- **= — возведет левый операнд в степень правого и результат присвоится левому операнду.
Python поддерживает не только обычное присваивание правого операнда левому, но и множественное присваивание.
>>> a, b, c = 1, «python», [1,2,3] >>> print(a, b, c) 1 python [1, 2, 3]
С помощью такого присваивания можно поменять значения переменных между собой:
>>> a = 1 >>> b = 2 >>> a, b = b, a >>> print(a, b) 2 1
Также с помощью множественного присваивания можно «распаковывать» строки (str), списки (list), кортежи (tuple) и словари (dict).
Распаковка особенно удобна, когда функция возвращает несколько значений в виде кортежа (tuple):
>>> def test_page(): return 404, «Not found» >>> code, message = test_page() >>> print(code, message) 404 Not found
Главное условие распаковки – количество элементов должно совпадать
Если необходимо распаковать лишь несколько элементов, воспользуйтесь переменной со знаком » * «:
>>> text = «deactivate» >>> first, second, *other_letters = text >>> print(first, second, other_letters) d e [‘a’, ‘c’, ‘t’, ‘i’, ‘v’, ‘a’, ‘t’, ‘e’]
Побитовые операторы
Данные операторы предназначены для работы с данными в битовом (двоичном) формате. Про битовые операции смотрите статью на википедии .
- ~ — побитовое отрицание (для него требуется только один операнд);
- & — побитовое » И «;
- | — побитовое » ИЛИ «;
- ^ — исключающее » ИЛИ «;
- >> — побитовый сдвиг вправо.
>>> a = 11 >>> b = 34 >>> a & b 2 >>> a | b 43 >>> (a ^ b) 41 >>> ~a -12 >>> a >> a >> 2 5
Операторы членства
В Python существует всего 2 оператора принадлежности — in и not in и предназначены они для проверки наличия элемента в строке (str), списке (list), словаре (dict) или кортеже (tuple).
- in — возвращает True если элемент присутствует в последовательности;
- not in — возвращает True если элемент отсутствует в последовательности.
Операторы тождественности
Данные операторы сравнивают размещение двух объектов в памяти.
- is — возвращает True если оба операнда указывают на один и тот же объект;
- is not — возвращает True если оба операнда указывают на разные объекты.
Приоритет операторов
Таблица приоритетов операторов в Python показана ниже.
Элементы отсортированы по убыванию, с высокого приоритета к более низкому. В комбинациях с несколькими операторами, оператор с большим приоритетом выполняется первым.
Например, в выражении 1 + 2 ** 2 * 10 сначала выполнится возведение в степень, далее умножение, потом сложение. Итого результат: 41 .
Операторы Python
В этом руководстве речь пойдет об операторах языка программирования Python. Вы узнаете об арифметических, логических и битовых операторах, а также операторах сравнения, присваивания, принадлежности, тождественности и их синтаксисе. Все это будет проиллюстрировано примерами.
Оператор в Python — это символ, который выполняет операцию над одним или несколькими операндами.
Операндом выступает переменная или значение, над которыми проводится операция.
Введение в операторы Python
Операторы Python бывают 7 типов:
- Арифметические операторы
- Операторы сравнения
- Операторы присваивания
- Логические операторы
- Операторы принадлежности
- Операторы тождественности
- Битовые операторы
Арифметические операторы Python
Этот тип включает операторы для проведения базовых арифметических операций.
Сложение (+)
Складывает значение по обе стороны оператора.
Пример:
Вычитание (-)
Вычитает значение правой стороны из значения в левой.
Пример:
Умножение (*)
Перемножает значения с обеих сторон оператора.
Пример:
Деление (/)
Делит значение левой стороны на значение правой. Тип данных результата деления — число с плавающей точкой.
Пример:
Возведение в степень (**)
Возводит первое число в степень второго.
Пример:
Деление без остатка (//)
Выполняет деление и возвращает целочисленное значение частного, убирая цифры после десятичной точки.
Пример:
Деление по модулю (остаток от деления) (%)
Выполняет деление и возвращает значение остатка.
Пример:
Операторы сравнения
Операторы сравнения в Python проводят сравнение операндов. Они сообщают, является ли один из них больше второго, меньше, равным или и то и то.
Меньше (<)
Этот оператор проверяет, является ли значение слева меньше, чем правое.
Пример:
Больше (>)
Проверяет, является ли значение слева больше правого.
Меньше или равно (<=)
Проверяет, является ли левая часть меньше или равной правой.
Пример:
Больше или равно (>=)
Проверяет, является ли левая часть больше или равной правой.
Пример:
Равно (==)
Этот оператор проверяет, равно ли значение слева правому. 1 равна булевому True , а 2 (двойка) — нет. 0 равен False .
Пример:
Не равно (!=)
Проверяет, не равно ли значение слева правому. Оператор <> выполняет ту же задачу, но его убрали в Python 3.
Когда условие выполнено, возвращается True . В противном случае — False . Это возвращаемое значение можно использовать в последующих инструкциях и выражениях.
Пример:
>>> 1==True # Это вызывает SyntaxError
Операторы присваивания
Оператор присваивания присваивает значение переменной. Он может манипулировать значением до присваивания. Есть 8 операторов присваивания: 1 простой и 7 с использованием арифметических операторов.
Присваивание (=)
Присваивает значение справа левой части. Стоит обратить внимание, что == используется для сравнения, а = — для присваивания.
Пример:
Сложение и присваивание (+=)
Суммирует значение обеих сторон и присваивает его выражению слева. a += 10 — это то же самое, что и a = a + 10 .
То же касается и все остальных операторов присваивания.
Пример:
Вычитание и присваивание (-=)
Вычитает значение справа из левого и присваивает его выражению слева.
Пример:
Деление и присваивание (/=)
Делит значение слева на правое. Затем присваивает его выражению слева.
Пример:
Умножение и присваивание (*=)
Перемножает значения обеих сторон. Затем присваивает правое левому.
Пример:
Деление по модулю и присваивание (%=)
Выполняет деление по модулю для обеих частей. Результат присваивает левой части.
Пример:
Возведение в степень и присваивание (**=)
Выполняет возведение левой части в степень значения правой части. Затем присваивает значение левой части.
Пример:
Деление с остатком и присваивание (//=)
Выполняет деление с остатком и присваивает результат левой части.
Пример:
Это один из важных операторов Python
Логические операторы Python
Это союзы, которые позволяют объединять по несколько условий. В Python есть всего три оператора: and (и), or (или) и not (не).
И (and)
Если условия с двух сторон оператора and истинны, тогда все выражение целиком считается истинным.
Пример:
Или (or)
Выражение ложно, если оба операнда с двух сторон ложные. Если хотя бы одно из них истинное, то и все выражение истинно.
Пример:
Не (not)
Этот оператор инвертирует булевые значения выражения. True превращается в False и наоборот. В примере внизу булево значение 0 — False . Поэтому оно превращается в True .
Пример:
Операторы принадлежности
Эти операторы проверяют, является ли значение частью последовательности. Последовательность может быть списком, строкой или кортежем. Есть всего два таких оператора: in и not in .
В (in)
Проверяет, является ли значение членом последовательности. В этом примере видно, что строки fox нет в списке питомцев. Но cat — есть, поэтому она возвращает True . Также строка me является подстрокой disappointment . Поэтому она вернет True .
Пример:
>>> pets=['dog','cat', 'ferret'] >>> 'fox' in pets
Нет в (not in)
Этот оператор проверяет, НЕ является ли значение членом последовательности.
Пример:
>>> 'pot' not in 'disappointment'
Операторы тождественности
Эти операторы проверяют, являются ли операнды одинаковыми (занимают ли они одну и ту же позицию в памяти).
Это (is)
Если операнды тождественны, то вернется True . В противном случае — False . Здесь 2 не является 20 , поэтому вернется False . Но ‘2’ — это то же самое, что и «2» . Разные кавычки не меняют сами объекты, поэтому вернется True .
Пример:
Это не (is not)
2 — это число, а ‘2’ — строка. Поэтому вернется True .
Пример:
Битовые операторы Python
Эти операторы работают над операндами бит за битом.
Бинарное И (&)
Проводит побитовую операцию and над двумя значением. Здесь бинарная 2 — это 10 , а 3 — 11 . Результатом побитового and является 10 — бинарная 2 . Побитовое and над 011 (3) и 100 (4) выдает результат 000 (0).
Пример:
Бинарное ИЛИ (|)
Проводит побитовую операцию or на двух значениях. Здесь or для 10 (2) и 11 (3) возвращает 11 (3).
Пример:
Бинарное ИЛИ НЕТ (^)
Проводит побитовую операцию xor (исключающее или) на двух значениях. Здесь результатом ИЛИ НЕ для 10 (2) и 11 (3) будет 01 (1).
Пример:
Инвертирующий оператор (~)
Он возвращает инвертированные двоичные числа. Другими словами, переворачивает биты. Битовая 2 — это 00000010 . Ее инвертированная версия — 11111101 . Это бинарная -3 . Поэтому результат -3 . Похожим образом ~1 равняется -2 .
Пример:
Еще раз, инвертированная -3 — это 2 .
Бинарный сдвиг влево (<<)
Он сдвигает значение левого операнда на позицию, которая указана справа. Так, бинарная 2 — это 10 . 2 сдвинет значение на две позиции влево и выйдет 1000 — это бинарная 8 .
Пример:
Бинарный сдвиг вправо (>>)
Сдвигает значение левого оператора на позицию, указанную справа. Так, бинарная 3 — это 11 . 3 >> 2 сдвинет значение на два положение вправо. Результат — 00 , то есть 0 . 3 >> 1 сдвинет на одну позицию вправо, а результатом будет 01 — бинарная 1 .
Пример:
Выводы
В этом уроке были рассмотрены все 7 типов операторов Python. Для каждого был предложен пример в IDE. Для понимания особенностей работы операторов нужно продолжать с ними работать, использовать в условных конструкциях и объединять.