Обозначения действий в питоне

Какие операторы используются в Python: руководство

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

  • арифметические,
  • сравнения,
  • присваивания,
  • тождественности,
  • принадлежности,
  • логические,
  • побитовые.

В этой статье-справочнике подробно рассмотрим каждый из них и приведем примеры.

Арифметические

Для сложения, вычитания, умножения и деления используются, соответственно, + , , * и / .

>>> 24 + 28
52
>>> 24 - 28
-4
>>> 24 * 28
672
>>> 24 / 28
0.8571428571428571

Для возведения в степень — ** .

Для целочисленного деления без остатка — // .

>>> 61 // 12
5
>>> 52 // 22
2
>>> 75 // 3
25
>>> 77 // 3
25

% выдает остаток, то есть выполняет деление по модулю:

>>> 62 % 6
2
>>> 65 % 9
2
>>> 48 % 5
3
>>> 48 % 12
0

Сравнения

>>> 26 > 58
False
>>> 26 < 58
True
>>> 26 >= 26
True
>>> 58 False
>>> 50 == 50
True
>>> 50 != 50
False
>>> 50 != 51
True

Присваивания

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

Читайте также:  Windows script host python

Также предусмотрены удобные конструкции для совмещения всех арифметических действий с одновременным присваиванием полученного значения: += , -= , *= , /= , //= , %= . Например:

Мы задали переменную сars и присвоили ей значение 5 , затем добавили еще 7 с одновременным присвоением нового значения. Конечно, можно вместо cars += 7 написать и так:

Ошибки нет, но первый вариант более компактный. Посмотрим, как работают другие действия одновременно с присваиванием:

>>> train = 11
>>> train -= 2
>>> train
9
>>> moto = 3
>>> moto *= 7
>>> moto
21
>>> plain = 8
>>> plain /= 4
>>> plain
2.0

Обратите внимание, что в последнем случае мы получили не целое значение, int , а с запятой, float .

Тождественности

Таких операторов в Python 2 : is и is not . Как и в английском, первый означает (это) есть , а второй — это не . Ответами интерпретатора, как и в случае со сравнениями, будут True или False .

>>> 55 is 55
True
>>> 55 is 56
False
>>> 55 is not 55
False
>>> 55 is not 56
True
>>> 55 is '55'
False
>>> '55' is "55"
True

Разбираемся, что произошло в последних двух операциях. В первом случае ( 55 is ’55’ ) сравнивалось целое число и строка, поэтому интерпретатор выдал False , а во втором ( ’55’ is «55» ) оба операнда представляли собой строки, поэтому было выдано True . Заметьте, что Питону не важно, использует ли программа одинарные или двойные кавычки: оба варианта синтаксически допустимы, поэтому результат тождества оказался истинным.

Принадлежности

Этих операторов тоже только два: in и not in . Они проверяют, есть или нет определенное значение в какой-либо последовательности. Например:

>>> wordlist = ('assistant', 'streetcar', 'fraudster', 'dancer', 'heat', 'blank', 'compass', 'commerce', 'judgment', 'approach')
>>> 'house' in wordlist
False
>>> 'assistant' in wordlist
True
>>> 'assistant' and 'streetcar' in wordlist
True

В последнем случае мы задействовали логический оператор ( and ), к рассмотрению которых и переходим.

Логические

В Питоне есть три логических оператора: and (и), or (или), а также not (не). and работает следующим образом: True возвращается только в том случае, если все операнды истинны. При этом обрабатываться может сколько угодно значений. Используем пример из главы выше:

>>> wordlist = ('assistant', 'streetcar', 'fraudster', 'dancer', 'heat', 'blank', 'compass', 'commerce', 'judgment', 'approach')
>>> 'assistant' and 'streetcar' in wordlist
True
>>> 'fraudster' and 'dancer' and 'heat' and 'blank' in wordlist
True
>>> 'fraudster' and 'dancer' and 'heat' and 'blank' and 'house' in wordlist
False

Как видим, значения ‘house’ в строке не оказалось, поэтому интерпретатор выдал False . Те же операции можно производить и над целочисленными значениями:

>>> numbers = 54 > 55 and 22 > 21
>>> print(numbers)
False

Всё верно, потому что одно из выражений ложно, а and требует, чтобы истинными были все условия.

or действует по-другому: выражение признается истинным в том случае, если истинно хотя бы одно из его значений. Поэтому, если в предыдущем примере мы заменим операторы and на or , то получим следующий результат:

>>> numbers = 54 > 55 or 22 > 21
>>> print(numbers)
True

22 больше 21 и при этом для операции or не важно, что первое выражение ложно.

А вот как работает not :

>>> first = True
>>> second = False
>>> print(not first)
False
>>> print(not second)
True

Из примера видно, что not переворачивает логические значения, меняя True на False и наоборот.

Побитовые

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

Битовые операторы основаны на принципах Булевой логики, поэтому действуют следующим образом:

& (AND) возвращает 1, если 1 есть в обоих операндах, в остальных случаях 0:

| (OR) возвращает 1, если 1 есть в одном из операндов, иначе вернет 0:

^ (XOR) возвращает 1, если операнды различаются, и 0, если они одинаковы:

~ (NOT) переворачивает биты, преобразуя положительные значения в отрицательные со сдвигом на единицу следующим образом:

и >> сдвигают биты на определенное количество, которое указывается справа:

Для понимания сдвигов давайте разложим значения на биты, добавив, где нужно, разряд для удобства:

Поэтому, сдвигая в единице разряд влево, мы получаем 2, а если вправо, то 0. А если на два разряда?

Сдвинув единицу на два разряда влево, мы получили 4, потому что 4 в битовом представлении будет 100. Сдвиг вправо на любое число разрядов всё равно дает нам ноль, так как бит «обнуляется» в любом случае.

Больше информации о битовых операторах можно найти в нашей статье о них.

В завершение проясним один важный момент и разграничим похожие по способу действия языковые инструменты.

Чем отличаются операторы от функций

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

Источник

№8 Операторы в Python / Уроки по Python для начинающих

Операторами пользуются для выполнения операций с переменными и значениями.
Python делит операторы на следующие группы:

  • Арифметические операторы
  • Операторы присваивания
  • Операторы сравнения
  • Логические операторы
  • Операторы тождественности
  • Операторы принадлежности
  • Побитовые операторы

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

Арифметические операторы используются с числовыми значениями для выполнения общих математических операций:

Оператор Значение Пример
+ добавление 4 + 5
вычитание 8 — 3
* умножение 5 * 5
/ деление 4 / 2
% остаток от деления 7 % 2
** возведение в степень 2 ** 3
// целочисленное деление 15 // 4

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

Операторы присваивания используются для присваивания значений переменным:

Операторы сравнения используются для сравнения двух значений:

Логические операторы используются для объединения условных операторов:

Операторы тождественности используются для сравнения объектов. Являются ли они одним и тем же объектом с одинаковым местоположением в памяти:

Оператор Значение Пример
is Возвращает true если переменные являются одним объектом x is y
is not Возвращает true если переменные разные x is not y

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

Операторы принадлежности используются для проверки того, представлена ​​ли последовательность в объекте:

Оператор Значение Пример
in Возвращает True если последовательность присутствует в объекте x in y
not in Возвращает True если последовательность не присутствует в объекте x not in y

Побитовые операторы в Python

Побитовые операторы используются для работы в битовом (двоичном) формате:

Оператор Название Значение
& И Устанавливает каждый бит в 1, если оба бита 1
| Или Устанавливает каждый бит в 1 если один из двух битов 1
^ только или Устанавливает каждый бит в 1 если только один из битов 1
~ Не Переставляет все биты
> Сдвиг вправо Сдвигает вправо на количество бит указанных справа

Источник

Операторы и выражения в 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 .

Источник

Оцените статью