akuruhinode's blog

pythonやC#を中心に興味を持った内容について調べています。

Python 演算子の種類と評価順序

はじめに

ここでは、Pythonで使える演算子について説明します。

数学演算子

演算子一覧

Pythonの式で使える数学演算子は以下の通りです。

優先順位 演算子 説明 評価結果
1.** 累乗2 ** 4 16
2.* 掛け算2 * 4 8
2./ 割り算23 / 8 2.875
2.// 整数の割り算。小数点以下切り捨て23 // 8 2
2.% 余剰(割り算の余り)23 % 8 7
6.+ 足し算2 + 4 6
6.- 引き算4 - 2 2

評価順序

式は通常の数学と同じ順序で評価されます。

  1. 優先順位に従い、累乗演算子(**)が評価されます。
  2. 掛け算演算子(*)、割り算演算子(/)、整数の割り算演算子(//)、余剰演算子(%)が、左から右に評価されます。
  3. 足し算(+)、引き算(-)演算子が左から右に評価されます。

丸カッコ()を使って順序を変えることもできます。

実行例

実行例は以下の通りです。優先順位通りに評価されていることがわかると思います。

  • 例1
 2 + 3 * 6
20
  • 例2
 (2 + 3) * 6
30
  • 例3
(5-1) * ((7 + 1) / (3 -1)) 
16.0

比較演算子

演算子一覧

Pythonの式で使える比較演算子は以下の通りです。

演算子 説明
== 等しい
!= 等しくない
< より小さい
> より大きい
<= 以下
>= 以上

実行例

実行例は以下の通りです。

  • 例1
42 == 42
True
  • 例2
2 != 3
True
  • 例3
'hello' == 'Hello'
False

ブール演算子

演算子一覧

Pythonの式で使えるブール演算子は以下の通りです。

演算子 説明
and 2つのブール値の両方がTrueの時にTrueとなる
or 2つのブール値の片方、または両方がTrueの時にTrueとなる
not ひとつのブール値を反転させる

評価順序

ブール演算子は、算術演算子と同様に優先順位を持ちます。評価順序は以下の通りです。

  1. 算術演算子と比較演算子を評価
  2. not 演算子を評価
  3. and演算子、or 演算子を評価

実行例

実行例は以下の通りです。

  • 例1
True and True
True
  • 例2
True or False
True
  • 例3
not True
False