Меню
Блог Гридина Семёна

Робототехника и автоматизация — это наука о будущем

Рубрики блога

Операторы и выражения на языке Python

Операторы и выражения на языке Python

Для взаимодействия с определёнными числами или функциями требуются какие-то операции. Допустим, сложение, вычитание, умножение, деление. Например арифметический корень и возведение в степень. Операторы python имеют важное значение. Без них не было бы программы. И для того, чтобы перечислить все существующие операторы, выделен целый раздел.

Из этой статьи вы узнаете:

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

Всем привет, читатели, гости и друзья, с вами Гридин Семён. Недавно я проводил небольшой анонимный опрос среди своих подписчиков. В базе у меня подписалось 35 человек. Письма прочитали лишь половина, ответили на опрос всего три человека. Но знаете, для меня это очень большой результат. Приятно, когда всё-таки не стоишь на одном месте.

Что-то ведь получается. Я хотел поделиться с вами результатами опроса и написать комментарии.

У меня на самом деле очень много идей и мыслей по развитию блога. Я уже давно запланировал открыть раздел по самоделкам на базе ПЛК, Arduino и Raspberry PI. Я хочу размещать на сайте не только свои проекты. Но также и проекты других авторов, определённо за денежное вознаграждение и прямую ссылку в соц. сетях.

Открою ещё вот такие разделы:

  • Новости в области робототехники;
  • Квадрокоптеры;
  • Библиотеки;
  • Механика роботов;

Конкурсы, конкурсы... Все любят призы, бонусы и подарки. Я тоже люблю, правда я пока не разу не участвовал нигде. Ещё не выпадал такой случай. Обязательно организую конкурсы.

С 1 пунктом всё никак не удаётся справиться. Написание качественных статей требует время. Пока не удаётся всё оптимизировать и укладываться вовремя.

Разносторонних тем по АСУТП на самом деле много. Тема очень многогранная и обширная. Потихоньку будем охватывать. И разбирать практические примеры. Я в большей степени практик.

Знаете, очень приятно, что мой ресурс не бесполезен. Очень приятное ощущение от того, что ты принёс кому-то пользу. Это очень мотивирует работать над сайтом и двигаться дальше. Спасибо и вам друзья. Я стараюсь так, чтобы сайт был актуален на несколько лет вперёд.

Что такое оператор?

Под операторами понимаются какие-то особые отображения и действия с числами или ставящее в соответствие функции другую функцию. Говоря простым языком в выражении 4+5 =9. Цифры называются операндами, а «+» и «=» операторами. Ну вообщем как-то так.

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

  1. арифметические операторы (arithmetic operators);
  2. операторы сравнения (comparison или relational operators);
  3. операторы присваивания (assignment operators);
  4. логические операторы (logical operators);
  5. битовые операторы (bitwise operators);
  6. операторы принадлежности (membership operators);
  7. операторы тождественности (identity operators).

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

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

ОператорОписаниеПримеры
+Сложение — Суммирует значения слева и справа от оператора15 + 5 в результате будет 20
20 + -3 в результате будет 17
13.4 + 7 в результате будет 20.4
Вычитание — Вычитает правый операнд из левого15 — 5 в результате будет 10
20 — -3 в результате будет 23
13.4 — 7 в результате будет 6.4
*Умножение — Перемножает операнды5 * 5 в результате будет 25
7 * 3.2 в результате будет 22.4
— 3 * 12 в результате будет -36
/Деление — Делит левый операнд на правый15 / 5 в результате будет 3
5 / 2 в результате будет 2 (В Python 2.x версии при делении двух целых чисел результат будет целое число)
5.0 / 2 в результате будет 2.5 (Чтобы получить «правильный» результат хотя бы один операнд должен быть float)
%Деление по модулю — Делит левый операнд на правый и возвращает остаток.6 % 2 в результате будет 0
7 % 2 в результате будет 1
13.2 % 5 в результате 3.2
**Возведение в степень — возводит левый операнд в степень правого5 ** 2 в результате будет 25
2 ** 3 в результате будет 8
— 3 ** 2 в результате будет -9
//Целочисленное деление — Деление в котором возвращается только целая часть результата. Часть после запятой отбрасывается.12 // 5 в результате будет 2
4 // 3 в результате будет 1
25 // 6 в результате будет 4

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

ОператорОписаниеПримеры
==Проверяет равны ли оба операнда. Если да, то условие становится истинным.5 == 5 в результате будет True
True == False в результате будет False
«hello» == «hello» в результате будет True
!=Проверяет равны ли оба операнда. Если нет, то условие становится истинным.12 != 5 в результате будет True
False != False в результате будет False
«hi» != «Hi» в результате будет True
<>Проверяет равны ли оба операнда. Если нет, то условие становится истинным.12 <> 5 в результате будет True. Похоже на оператор !=
>Проверяет больше ли значение левого операнда, чем значение правого. Если да, то условие становится истинным.5 > 2 в результате будет True.
True > False в результате будет True.
«A» > «B» в результате будет False.
<Проверяет меньше ли значение левого операнда, чем значение правого. Если да, то условие становится истинным.3 < 5 в результате будет True.
True < False в результате будет False.
«A» < «B» в результате будет True.
>=Проверяет больше или равно значение левого операнда, чем значение правого. Если да, то условие становится истинным.1 >= 1 в результате будет True.
23 >= 3.2 в результате будет True.
«C» >= «D» в результате будет False.
<=Проверяет меньше или равно значение левого операнда, чем значение правого. Если да, то условие становится истинным.4 <= 5 в результате будет True.
0 <= 0.0 в результате будет True.
— 0.001 <= -36 в результате будет False.

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

ОператорОписаниеПримеры
=Присваивает значение правого операнда левому.c = 23 присвоит переменной с значение 23
+=Прибавит значение правого операнда к левому и присвоит эту сумму левому операнду.с = 5
а = 2
с += а равносильно: с = с + а. с будет равно 7
-=Отнимает значение правого операнда от левого и присваивает результат левому операнду.с = 5
а = 2
с -= а равносильно: с = с — а. с будет равно 3
*=Умножает правый операнд с левым и присваивает результат левому операнду.с = 5
а = 2
с *= а равносильно: с = с * а. c будет равно 10
/=Делит левый операнд на правый и присваивает результат левому операнду.с = 10
а = 2
с /= а равносильно: с = с / а. c будет равно 5
%=Делит по модулю операнды и присваивает результат левому.с = 5
а = 2
с %= а равносильно: с = с % а. c будет равно 1
**=Возводит в левый операнд в степень правого и присваивает результат левому операнду.с = 3
а = 2
с **= а равносильно: с = с ** а. c будет равно 9
//=Производит целочисленное деление левого операнда на правый и присваивает результат левому операнду.с = 11
а = 2
с //= а равносильно: с = с // а. c будет равно 5

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

Для тех кто не изучал курсы информатики. Представим что у нас есть два числа a=60 и b=13. В двоичной системе они будут выглядеть следующим образом a=0011 1100 и b=0000 1101.

Что можно делать с ними в итоге?

ОператорОписаниеПримеры
&Бинарный «И» оператор, копирует бит в результат только если бит присутствует в обоих операндах.(a & b) даст нам 12, которое в двоичном формате выглядит так 0000 1100
|Бинарный «ИЛИ» оператор копирует бит, если тот присутствует в хотя бы в одном операнде.(a | b) даст нам 61, в двоичном формате 0011 1101
^Бинарный «Исключительное ИЛИ» оператор копирует бит только если бит присутствует в одном из операндов, но не в обоих сразу.(a ^ b) даст нам 49, в двоичном формате 0011 0001
~Бинарный комплиментарный оператор. Является унарным (то есть ему нужен только один операнд) меняет биты на обратные, там где была единица становиться ноль и наоборот.(~a ) даст в результате -61, в двоичном формате выглядит 1100 0011.
<<Побитовый сдвиг влево. Значение левого операнда «сдвигается» влево на количество бит указанных в правом операнде.a << 2 в результате даст 240, в двоичном формате 1111 0000
>>Побитовый сдвиг вправо. Значение левого операнда «сдвигается» вправо на количество бит указанных в правом операнде.a >> 2 даст 15, в двоичном формате  0000 1111

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

ОператорОписаниеПримеры
andЛогический оператор «И». Условие будет истинным если оба операнда истина.True and True равно True.
True and False равно False.
False and True равно False.
False and False равно False.
orЛогический оператор «ИЛИ». Если хотя бы один из операндов истинный, то и все выражение будет истинным.True or True равно True.
True or False равно True.
False or True равно True.
False or False равно False.
notЛогический оператор «НЕ». Изменяет логическое значение операнда на противоположное.not True равно False.
not False равно True.

Операторы членства

Эти операторы необходимы для проверки отдельных элементов в составных типах данных (строки, кортежи, списки и словари)

ОператорОписаниеПримеры
inВозвращает истину, если элемент присутствует в последовательности, иначе возвращает ложь.«cad» in «cadillac» вернет True.
1 in [2,3,1,6] вернет True.
«hi» in {"hi":2,"bye":1} вернет True.
2 in {"hi":2,"bye":1} вернет False (в словарях проверяется наличие в ключах, а не в значениях).
not inВозвращает истину если элемента нет в последовательности.Результаты противоположны результатам оператора in.

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

ОператорОписаниеПримеры
isВозвращает истину, если оба операнда указывают на один объект.x is y вернет истину, если id (x) будет равно id (y).
is notВозврашает ложь если оба операнда указывают на один объект.x is not y, вернет истину если id (x) не равно id (y).

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

ОператорОписание
**Возведение в степень
~ + — Комплиментарный оператор
* / % //Умножение, деление, деление по модулю, целочисленное деление.
+ — Сложение и вычитание.
>> <<Побитовый сдвиг вправо и побитовый сдвиг влево.
&Бинарный «И».
^ |Бинарный  «Исключительное ИЛИ» и бинарный «ИЛИ»
<= < > >=Операторы сравнения
<> == !=Операторы равенства
= %= /= //= -= += *= **=Операторы присваивания
is is notТождественные операторы
in not inОператоры членства
not or andЛогические операторы

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

Недавно я купил книгу И.В. Петрова «Программируемые контроллеры в автоматических системах». Так как вроде и пишу много в системе CoDeSyS, но всё равно не чувствую себя профи:

И.В,Петров

Очень рекомендую, для совершения первого шага в мир CoDeSyS.

Я как-то был на грани того, чтобы сдаться и бросить свой проект. Раньше я искал мотивацию, чтобы заниматься чем-нибудь. Я искал смысл во всех действиях, думал, а какой в конечном счёте мне даст результат? И опять искал мотивацию...

К чему это я, сейчас опять я тупо клацаю по клавиатуре и смотрю в монитор. И я снова написал статью, пишу эти строчки, иногда не зная, почему и зачем, к чему меня приведёт это в конце концов?

Да, у меня появляются трудности, да, у меня много чего не получается. Но нужно бороться с этим.

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

Ещё раз о мотивации, посмотрите, что говорит Джордж Карлин по этому поводу, сорри за ненормативную лексику.

С уважением, Гридин Семён

Интересен блог? Подпишись и получай новости на почту

Подписка на новости блога

Вам так же может быть интересно

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

  • ;-)
  • :smile:
  • :sad:
  • :roll:
  • :razz:
  • :oops:
  • :o
  • :lol:
  • :idea:
  • :grin:
  • :cry:
  • :cool:
  • :???: