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日)