Последовательность вычисления выражений зависит от приоритета выполнения операторов. Все мы знаем, что сначала выполняются умножение и деление, а потом уже сложение и вычитание, поэтому результат следующего выражения будет 6, а не 8: а = 2 + 2 * 2 Это основы. Но в Python операторов гораздо больше, чем в математике, поэтому нужно учитывать приоритет каждого оператора. Далее приведены операторы в порядке убывания приоритета. Операторы одного приоритета выполняются слева направо: 1. -х, +х, -х, ** 2. *, %, /, // 3. +, - 4. <> 5. & 6. ^ 7. I 8. =, +=, -=, *=, /=, //=, %=, **= Если вам сложно запомнить приоритет операторов, хочется большей однозначности или нужно изменить приоритет выполнения, используйте скобки. Результатом следующего выражения будет уже 8, а не 6: а = (2 + 2) * 2 Сначала будет вычислено значение в скобках (4), а потом уже будет произведено умножение на 2.
Будни питониста
:Олег Петухов
Приоритет выполнения операторов.
Последовательность вычисления выражений зависит от приоритета выполнения операторов. Все мы знаем, что сначала выполняются умножение и деление, а потом уже сложение и вычитание, поэтому результат следующего выражения будет 6, а не 8:
а = 2 + 2 * 2
Это основы. Но в Python операторов гораздо больше, чем в математике, поэтому нужно учитывать приоритет каждого оператора. Далее приведены операторы в порядке убывания приоритета. Операторы одного приоритета выполняются слева направо:
1. -х, +х, -х, **
2. *, %, /, //
3. +, -
4. <>
5. &
6. ^
7. I
8. =, +=, -=, *=, /=, //=, %=, **=
Если вам сложно запомнить приоритет операторов, хочется большей однозначности или нужно изменить приоритет выполнения, используйте скобки. Результатом следующего выражения будет уже 8, а не 6:
а = (2 + 2) * 2
Сначала будет вычислено значение в скобках (4), а потом уже будет произведено умножение на 2.