Операторы и выражения
Кратко рассмотрим операторы и их применение:
Обратите внимание, вычислить значения выражений, данных в примерах, можно также используя интерпретатор интерактивно. Например, для проверки выражения 2 + 3
воспользуйтесь интерактивной командной строкой интерпретатора Python:
Операторы и их применение
Оператор | Название | Объяснение | Примеры |
| Сложение | Суммирует два объекта |
|
| Вычитание | Даёт разность двух чисел; если первый операнд отсутствует, он считается равным нулю |
|
| Умножение | Даёт произведение двух чисел или возвращает строку, повторённую заданное число раз. |
|
| Возведение в степень | Возвращает число |
|
| Деление | Возвращает частное от деления |
|
| Целочисленное деление | Возвращает неполное частное от деления |
|
| Деление по модулю | Возвращает остаток от деления |
|
| Сдвиг влево | Сдвигает биты числа влево на заданное количество позиций. (Любое число в памяти компьютера представлено в виде битов - или двоичных чисел, т.е. 0 и 1) |
|
| Сдвиг вправо | Сдвигает биты числа вправо на заданное число позиций. |
|
| Побитовое И | Побитовая операция И над числами |
|
| Побитовое ИЛИ | Побитовая операция ИЛИ над числами |
|
| Побитовое ИСКЛЮЧИТЕЛЬНО ИЛИ | Побитовая операция ИСКЛЮЧИТЕЛЬНО ИЛИ |
|
| Побитовое НЕ | Побитовая операция НЕ для числа |
|
| Меньше | Определяет, верно ли, что |
а Можно составлять произвольные цепочки сравнений: |
| Больше | Определяет, верно ли, что |
|
| Меньше или равно | Определяет, верно ли, что |
|
| Больше или равно | Определяет, верно ли, что |
|
| Равно | Проверяет, одинаковы ли объекты |
|
| Не равно | Проверяет, верно ли, что объекты не равны |
|
| Логическое НЕ | Если |
|
| Логическое И |
|
|
| Логическое ИЛИ | Если |
|
Краткая запись мат. операций и присваивания
Зачастую результат проведения некой математической операции необходимо присвоить переменной, над которой эта операция производилась. Для этого существуют краткие формы записи выражений:
Вы можете записать:
в виде:
Обратите внимание, что выражения вида “переменная = переменная операция выражение
” принимает вид “переменная операция = выражение
”.
Порядок вычисления
Если имеется выражение вида 2 + 3 * 4
, что производится раньше: сложение или умножение? Школьный курс математики говорит нам, что умножение должно производиться в первую очередь. Это означает, что оператор умножения имеет более высокий приоритет, чем оператор сложения.
Следующая таблица показывает приоритет операторов в Python, начиная с самого низкого (самое слабое связывание) и до самого высокого (самое сильное связывание). Это означает, что в любом выражении Python сперва вычисляет операторы и выражения, расположенные внизу таблицы, а затем операторы выше по таблице.
Эта таблица взята из Справочника по языку Python (англ.) и приводится здесь для полноты описания. На практике лучше использовать скобки для группировки операторов и операндов, чтобы в явном виде указать порядок вычисления выражений. Заодно это облегчит чтение программы.
Приоритет операторов
Оператор | Описание |
| лямбда-выражение |
| Логическое “ИЛИ” |
| Логическое “И” |
| Логическое “НЕ” |
| Проверка принадлежности |
| Проверка тождественности |
| Сравнения |
| Побитовое “ИЛИ” |
| Побитовое “ИСКЛЮЧИТЕЛЬНО ИЛИ” |
| Побитовое “И” |
| Сдвиги |
| Сложение и вычитание |
| Умножение, деление, целочисленное деление и остаток от деления |
| Положительное, отрицательное |
| Побитовое НЕ |
| Возведение в степень |
| Ссылка на атрибут |
| Обращение по индексу |
| Вырезка |
| Вызов функции |
| Связка или кортеж |
| Список |
| Словарь |
Операторы, о которых мы не упомянули, будут объяснены в дальнейших главах.
В этой таблице операторы с равным приоритетом расположены в одной строке. Например, +
и -
имеют равный приоритет.
Изменение порядка вычисления
Для облегчения чтения выражений можно использовать скобки. Например, 2 + (3 * 4)
определённо легче понять, чем 2 + 3 * 4
, которое требует знания приоритета операторов. Как и всё остальное, скобки нужно использовать разумно (не перестарайтесь) и избегать излишних, как в (2 + (3 * 4))
.
Есть ещё одно преимущество в использовании скобок – они дают возможность изменить порядок вычисления выражений. Например, если сложение необходимо произвести прежде умножения, можно записать нечто вроде (2 + 3) * 4
.
Last updated