-4
は私のPythonの教科書によると、インターネット上のいくつかのソース(Pythonのハード・ウェイはこちら)、オペレーションのPythonの順序は次のとおりです。 括弧指数精度乗算除算加算減算Pythonの秩序 - 加算と減算
そう来ますか
> print 1-5+4
は-8を返します。
は私のPythonの教科書によると、インターネット上のいくつかのソース(Pythonのハード・ウェイはこちら)、オペレーションのPythonの順序は次のとおりです。 括弧指数精度乗算除算加算減算Pythonの秩序 - 加算と減算
そう来ますか
> print 1-5+4
は-8を返します。
Pythonの演算子優先順位の公式テーブルはhere (Python 2)であり、ほとんどの言語と同様に、さらに&減算の優先順位は同じです。
したがって、演算子が左から右に適用されるように式を解析することがわかります(つまり、左から同じ優先順位で演算をグループ化します-associativity)を使用する。
m_expr ::= u_expr | m_expr "*" u_expr | m_expr "//" u_expr | m_expr "/" u_expr
| m_expr "%" u_expr
a_expr ::= m_expr | a_expr "+" m_expr | a_expr "-" m_expr
だからあなたの表現1-5+4
は、上記の規則に従って、このようなもの解析されます:
1 - 5 + 4
= a_expr + m_expr
=(a_expr - m_expr) + m_expr
=(m_expr - m_expr) + m_expr
https://en.wikipedia.org/wiki/Order_of_operations#Mnemonics「これらのニーモニック(PEMDAS)5月このように書くと誤解を招きます。[7]特に、乗算と除算が加減算と同じ優先順位であることをユーザーが意識していない場合。 – kennytm