LoginSignup
12
11

Pythonおぼえがき<演算子の優先順位>

Last updated at Posted at 2017-09-21

Python始めました。
Windows 10, Python 3.6.2rc2 を使っています.

演算子の優先順位が分からなかったので,ここにおぼえがき

演算子の順序

優先度 演算子 意味
高:1 (expressions...) 優先順位の指定 / ダブルリテラル
[expressions...] リストリテラル
{key: value...} 辞書リテラル
{expressions...} 集合リテラル
2 x(arguments...) 関数呼び出し
3 x[index] 添え字指定
x[indexStart:indexStop] スライス
4 x.attribute 属性参照
5 ** べき乗
6 +x, -x, ~x 正,負,bit否定
7 *, /, //, % 乗算,除算,整除除算,剰余
書式化文字列
8 +, - 加算,減算
9 <<, >> bitごとのシフト
10 & bitごとの論理積
11 ^ bitごとの排他的論理和
12 | bitごとの論理和
13 <, <=, >, >=, !=, == 比較演算子
14 in, is メンバシップ演算子
15 not x 否定
16 and 論理積
17 or 論理和
18 if condition : else 条件式
低:19 lambda ラムダ式

同じ演算子が重なったときは

基本的には左が優先される

>>> 8 // 2 // 2
2
>>> (8 // 2) // 2
2
>>> 8 // (2 // 2)
8

でも累乗 ** は右優先

>>> 2 ** 2 ** 3
256
>>> 2 ** (2 ** 3)
256
>>> (2 ** 2) ** 3
64

おわりに

tableの仕様なのか書けなかったのですが,12行目の演算子は"|"です.
あと,1つのセルに複数行を書く書き方が分からなかったので,若干見にくくなっています.
Markdownの方法を教えてくださ~~ると,大変助かります.~~り,ありがとうございます。

同列優先度の順序に関しては,shiracamusさんのこちらのコメントをご覧くださいませ.


今さらながら修正をしました.(2023年9月19日)

12
11
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11