Найти в Дзене

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

Оглавление

Если в выражении используются несколько операторов, то необходимо знать в каком порядке будет выполняться выражение. Например, арифметическое выражение 2 + 2 * 2, как известно из курса математики, будет выполняться начиная с умножения. Тем самым умножение имеет более высокий приоритет, чем сложение. Ниже будет приведена таблица, в которой приведенные в этой главе операторы будут расположены от наиболее низкого приоритета, к более высокому. Стоит отметить, что, когда вы будете использовать сложные выражения с несколькими операторами, лучше использовать скобки. Такой подход поможет указать приоритет выполнения операций в явном виде.

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

Задание 1

Предлагаю вам потренироваться c логическими и побитовыми операторами. Ниже будут приведены выражения и ответы к ним. Попробуйте мысленно или на бумаге решить эти выражения и затем проверить себя, посмотрев правильный ответ. Задания будут располагаться по нарастающей от простого к сложному. Удачи!

Для:

a = True

b = False

Решите:

1. a and b

2. (a and b) or b

3. (a and b) or not (a and b)

4. a and b or not (a or b) or b

5. b and b or not a and (a or b or a) or not (a or b)

6. 1 << 2

7. 1 & 0 | 1 >> 1

8. 1 & 0 | 1 >> 0

9. 0b101 & 0b111 ^ 0b111 | 0b010 Комментарий: "0b101" - запись числа "5" на языке Python в двоичном виде

10. (7 & 9) ^ (1 | 0) & (3 & 4)

Ответы:

1. False

2. False

3. True

4. False

5. False

6. 4

Пояснение:
1 << 2 = 100 в двоичной системе.
Такое выражение по умолчанию Python выведет в десятичной системе счисления, что равно 4

7. 0

Пояснение:
1 >> 1 = 0

8. 1

9. 2 или 0b010

10. 1

#pythonснуля #программированиенаpython #урокиpython #пайтононлайн

Не забываем ставить лайк и подписываться на мой канал: zen.yandex.ru/...bramenkova Впереди много познавательного!
-----
Будем дружить
vk.com/...bramenkova
Благодарю каждого за репост!)