\

Pythonでは、複数の種類の演算子を利用することができますが、1つの文の中で複数の演算子が使用されている場合、演算子ごとに決まっている優先順位の高いものから評価されていきます。

Pythonで定義されている演算子の優先順位は次のようになっています。

- (expressions...), [expressions...], {key: value...}, {expressions...}
- x[index], x[index:index], x(arguments...), x.attribute
- await x
- ** (べき乗)
- +x, -x, ~x (正数、負数、ビット単位NOT)
- *, @, /, //, % (乗算、行列乗算、除算、切り捨て除算、剰余)
- +, - (加算および減算)
- <<, >> (シフト演算)
- & (ビット単位AND)
- ^ (ビット単位XOR)
- | (ビット単位OR)
- in, not in, is, is not, <, <=, >, >=, !=, == (所属や同一性のテストを含む比較)
- not x (ブール演算NOT)
- and (ブール演算AND)
- or (ブール演算OR)
- if -- else (条件式)
- lambda (ラムダ式)

例えば、同じ四則演算の演算子であっても、乗算や除算の演算子である */ は、加算や現在の演算子である +- よりも優先順がい高いです。

また、ブール演算子にも優先順位があります。ブール演算子の中では not が一番優先順位が高く、 andor と続きます。

この優先順位を考慮しないと、論理演算子を用いた複雑な論理式が正しく評価されなくなってしまいます。

以上がPythonの演算子の優先順位についての基本的な情報です。この情報がPythonプログラミングの理解に役立つことを願っています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です