Python:演算子の優先順位の一覧

スポンサーリンク

演算子の優先順位の一覧

演算子の優先順位は以下のとおりです。

演算子説明と例
[ v1, ... ]、{ v1, ... }、{ k1:v1, ... }、( ... )リスト/集合/辞書/ジェネレータの作成、内包表記、かっこで囲まれた式
seq [ n ]、seq [ n:m ]、func ( args, ... )、obj.attr添字、スライス、関数呼び出し、属性参照
**指数
+X、-X、~X正、負、ビット単位のNOT
*、/、//、%乗算、floatの除算、整数の除算、剰余
+、-加算、減算
<<、>>左シフト、右シフト
&ビット単位のAND
|ビット単位のOR
in、not in、is、is not、<、<=、>、>=、!=、==メンバー、等価性テスト
not x論理NOT
and論理AND
or論理OR
if ... else条件式
lambda ...ラムダ式

乗算の方が加算より優先順位が高いので以下の結果になります。

>>> 5 + 6 * 7
47

もし式が複雑だと優先順位がわかりにくいので、かっこを追加してグループ化する方がよいかもしれません。

>>> 5 + (6 * 7)
47