- Операторы и выражения в Python
- Операторы сравнения
- Логические операторы
- Арифметические операторы
- Операторы присваивания
- Побитовые операторы
- Операторы членства
- Операторы тождественности
- Приоритет операторов
- Приоритеты операторов Python
- Базовые арифметические операции
- Приоритет мат операций python
- Что такое оператор?
- Арифметические операторы в Python:
- Операторы сравнения в Python:
- Операторы присваивания в Python:
- Побитовые операторы в Python:
- Логические операторы в Python:
- Операторы членства в Python:
- Операторы тождественности в Python:
- Приоритет операторов в 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
Самые приоритетные операции вверху, снизу — с низким приоритетом. Вычисления выполняются слева направо, то есть, если в выражении встретятся операторы одинаковых приоритетов, первым будет выполнен тот, что слева.
Оператор возведения в степень исключение из этого правила. Из двух операторов ** сначала выполнится правый, а потом левый.
Операторы | Описание |
---|---|
() | Скобки |
** | Возведение в степень |
+x , -x , ~x | Унарные плюс, минус и битовое отрицание |
* , / , // , % | Умножение, деление, целочисленное деление, остаток от деления |
+ , — | Сложение и вычитание |
> | Битовые сдвиги |
& | Битовое И |
^ | Битовое исключающее ИЛИ ( XOR ) |
| | Битовое ИЛИ |
== , != , > , >= , < , | Сравнение, проверка идентичности, проверка вхождения |
not | Логическое НЕ |
and | Логическое И |
or | Логическое ИЛИ |
Мы используем файлы cookie
Наш сайт использует файлы cookie для улучшения пользовательского опыта, сбора статистики и обеспечения доступа к обучающим материалам. Мы также передаем информацию об использовании вами нашего сайт партерам по социальным сетям, рекламе и аналитике. В свою очередь, наши партнеры могут объединять ее с другой предоставленной вами информацией, или с информацией, которую они собрали в результате использования вами их услуг.
Базовые арифметические операции
Ниже приведены примеры математических операций. Поменяйте в примере значения x и y, заменив целые числа на числа с плавающей точкой.
x=11 y=3 print(x-y) print(x*y) print(x/y) print(x//y) print(x%y) print(x**y) print(pow(3,4)) print(pow(3,4,5))
В Python, при выполнении арифметических операций, устанавливаются приоритеты: 1) возведение в степень; 2) смена знака; 3) умножение, деление, остаток; 4) сложение и вычитание. Приоритеты можно изменить с помощью скобок. Ниже примеры.
a=3+4*5 print(«a=»,a) b=4*3**2 print(«b=»,b) c=(2+3)*4 print(«c=»,c) d=3*-3+9 print(«d auto»> print(3**120) print(3.0**120.0)
Приведем для удобства сводную таблицу математических операций с указанием типов результата.
Операция | Название | Примечание | ||
---|---|---|---|---|
x+y | Сложение чисел | |||
x-y | Разница чисел | |||
x*y | Произведение чисел | |||
x/y | Деление чисел | Результат — float | ||
x//y | Целая часть от деления | Результат — целое число | ||
x%y | Остаток от деления | Результат — целое число | ||
x**y | Возведение в степень | Результат — float , если \(x -x | Смена знака числа | унарная операция |
Приоритет мат операций python
Don’t learn to code. Code to learn!
- Python — Обзор
- Основы синтаксиса Python
- Операторы в Python
- Типы данных в Python
- Условные конструкторы в Python
- Циклы в Python
- Функции в Python
- Функциональное программирование в Python
- ООП в Python
- Модули в Python
- Работа с файлами в Python
- Обработка исключительных ситуаций в Python
Что такое оператор?
Говоря простым языком, в выражении 2 + 3, числа «2» и «3» называются операндами, знак «+» оператором. В языке программирования Python существуют следующие типы операторов:
Арифметические операторы в Python:
15 + 5 в результате будет 20
20 + -3 в результате будет 17
13.4 + 7 в результате будет 20.4
Операторы сравнения в Python:
12 <> 5 в результате будет True. Похоже на оператор !=
Операторы присваивания в Python:
с = 5
а = 2
с += а равносильно: с = с + а. с будет равно 7
с = 5
а = 2
с -= а равносильно: с = с — а. с будет равно 3
с = 5
а = 2
с *= а равносильно: с = с * а. c будет равно 10
Побитовые операторы в Python:
Побитовые операторы предназначены для работы с данными в битовом (двоичном) формате. Предположим, что у нас есть два числа a = 60; и b = 13. В двоичном формате они будут иметь следующий вид:
Оператор | Описание | Примеры |
---|---|---|
& | Бинарный «И» оператор, копирует бит в результат только если бит присутствует в обоих операндах. | (a & b) даст нам 12, которое в двоичном формате выглядит так 0000 1100 |
| | Бинарный «ИЛИ» оператор копирует бит, если тот присутствует в хотя бы в одном операнде. | (a | b) даст нам 61, в двоичном формате 0011 1101 |
^ | Бинарный «Исключительное ИЛИ» оператор копирует бит только если бит присутствует в одном из операндов, но не в обоих сразу. | (a ^ b) даст нам 49, в двоичном формате 0011 0001 |
~ | Бинарный комплиментарный оператор. Является унарным (то есть ему нужен только один операнд) меняет биты на обратные, там где была единица становиться ноль и наоборот. | (~a ) даст в результате -61, в двоичном формате выглядит 1100 0011. |
Побитовый сдвиг влево. Значение левого операнда «сдвигается» влево на количество бит указанных в правом операнде. | a | |
>> | Побитовый сдвиг вправо. Значение левого операнда «сдвигается» вправо на количество бит указанных в правом операнде. | a >> 2 даст 15, в двоичном формате 0000 1111 |
Логические операторы в Python:
True and True равно True.
True and False равно False.
False and True равно False.
False and False равно False.
Операторы членства в Python:
В добавок к перечисленным операторам, в Python присутствуют, так называмые, операторы членства, предназначенные для проверки на наличие элемента в составных типах данных, таких, как строки, списки, кортежи или словари:
Оператор | Описание | Примеры |
---|---|---|
in | Возвращает истину, если элемент присутствует в последовательности, иначе возвращает ложь. | «cad» in «cadillac» вернет True. 1 in [2,3,1,6] вернет True. «hi» in вернет True. 2 in вернет False (в словарях проверяется наличие в ключах, а не в значениях). |
not in | Возвращает истину если элемента нет в последовательности. | Результаты противоположны результатам оператора in. |
Операторы тождественности в Python:
Операторы тождественности сравнивают размещение двух объектов в памяти компьютера.
Оператор | Описание | Примеры |
---|---|---|
is | Возвращает истину, если оба операнда указывают на один объект. | x is y вернет истину, если id(x) будет равно id(y). |
is not | Возврашает ложь если оба операнда указывают на один объект. | x is not y, вернет истину если id(x) не равно id(y). |
Приоритет операторов в Python
В следующей таблице описан приоритет выполнения операторов в Python от наивысшего (выполняется в первую очередь) до наинизшего.
Оператор | Описание |
---|---|
** | Возведение в степень |
~ + — | Комплиментарный оператор |
* / % // | Умножение, деление, деление по модулю, целочисленное деление. |
+ — | Сложение и вычитание. |
>> | Побитовый сдвиг вправо и побитовый сдвиг влево. |
& | Бинарный «И». |
^ | | Бинарный «Исключительное ИЛИ» и бинарный «ИЛИ» |
>= | Операторы сравнения |
<> == != | Операторы равенства |
= %= /= //= -= += *= **= | Операторы присваивания |
is is not | Тождественные операторы |
in not in | Операторы членства |
not or and | Логические операторы |