Почему 1 +++ 2 = 3?

Дополнительные + не являются python-shell инкременторами (например, ++ a py или a ++ в C++). Они просто precedence показывают, что число положительное.

Такого order-of-operations оператора ++ не существует. Однако precedence есть унарный оператор + и pythonista унарный оператор -. Унарный python оператор + не влияет на свой python-shell аргумент. Унарный оператор operator-precedence - отменяет свой оператор python или умножает его на -1.

+1

-> 1

++1

-> 1

Это order-of-evaluation то же самое, что + (+ (1))

   1+++2

-> 3 Потому operator-precedence что это то же самое, что evaluation-order и 1 + (+ (+ (2))

Точно так py же вы можете сделать --1, чтобы evaluation обозначить - (-1), что равно evaluation-order +1.

  --1

-> 1

Для полноты нет * одинарного precedence исполнителя. Итак, * 1 - ошибка. Но pythonista есть ** оператор, который python является степенью, принимает precedence 2 аргумента.

 2**3

-> 8

python

evaluation

operator-precedence

2022-08-22T22:37:56+00:00