第3章: 演算子と式

3-operator-expression

この章では、Pythonで使われるさまざまな演算子と式について学びます。演算子は、数値や変数に対して計算や比較などの操作を行うために使用され、式は演算子を使って計算や評価を行う一連の構文です。これらの基本を理解することで、より複雑なプログラムを作成できるようになります。

目次

3.1 算術演算子、比較演算子、論理演算子

Pythonには、さまざまな種類の演算子があり、特定の目的に応じて異なる動作をします。ここでは、基本的な算術演算子、比較演算子、論理演算子について説明します。

算術演算子

算術演算子は、数値に対して数学的な操作を行うための演算子です。

演算子意味例
+加算2 + 3 → 5
-減算5 - 2 → 3
*乗算3 * 4 → 12
/除算10 / 2 → 5.0
//整数除算10 // 3 → 3
%余り(モジュロ)10 % 3 → 1
**累乗2 ** 3 → 8

例として、次のコードを見てみましょう。

a = 10
b = 3

print(a + b)  # 加算 → 13
print(a - b)  # 減算 → 7
print(a * b)  # 乗算 → 30
print(a / b)  # 除算 → 3.333...
print(a // b) # 整数除算 → 3
print(a % b)  # 余り → 1
print(a ** b) # 累乗 → 1000

比較演算子

比較演算子は、2つの値を比較し、その結果をブール値(TrueまたはFalse)で返します。

演算子意味例
==等しい5 == 5 → True
!=等しくない5 != 3 → True
>より大きい5 > 3 → True
<より小さい5 < 3 → False
>=以上5 >= 3 → True
<=以下5 <= 3 → False

次の例を見てください。

x = 10
y = 5

print(x == y)  # 等しいか → False
print(x != y)  # 等しくないか → True
print(x > y)   # xはyより大きいか → True
print(x < y)   # xはyより小さいか → False

論理演算子

論理演算子は、複数の条件を組み合わせたり、ブール値を操作するために使用します。

演算子意味例
andすべての条件がTrueの場合True and False → False
orどれか一つの条件がTrueの場合True or False → True
not真偽値を反転させるnot True → False
a = True
b = False

print(a and b)  # 両方がTrueか → False
print(a or b)   # どちらかがTrueか → True
print(not a)    # aを反転 → False

3.2 三項演算子の使用法

Pythonでは、三項演算子(条件式)を使って、1行で条件に基づいた値を返すことができます。これは、if文を簡潔に書くために役立ちます。

三項演算子の構文

value_if_true if condition else value_if_false
age = 18
status = "成人" if age >= 18 else "未成年"
print(status)  # "成人"と表示される

このコードでは、ageが18以上の場合に"成人"を、そうでない場合に"未成年"を変数statusに代入しています。

3.3 演算子の優先順位と結合性

複数の演算子が混在する式では、演算子の優先順位が結果に影響を与えます。Pythonの演算子にも優先順位があり、これによってどの演算子が先に評価されるかが決まります。

演算子の優先順位

以下は、主要な演算子の優先順位の一覧です(上から下へ行くほど優先順位が低くなります)。

  1. () – 丸括弧
  2. ** – 累乗
  3. *, /, //, % – 乗算、除算、整数除算、余り
  4. +, - – 加算、減算
  5. ==, !=, >, <, >=, <= – 比較演算子
  6. not – 論理NOT
  7. and – 論理AND
  8. or – 論理OR

例:優先順位に基づく計算

result = 3 + 2 * 5  # 2 * 5が先に計算される → 3 + 10 = 13
print(result)

この例では、2 * 5が先に計算され、その結果に3が加算されます。

3.4 式の評価と短絡評価

式の評価とは、式を実行して結果を得ることです。例えば、3 + 5は8に評価されます。演算子を使った複雑な式では、演算子の優先順位に従って順番に評価されます。

**短絡評価(short-circuit evaluation)**とは、論理演算子(andやor)が使われる際に、左側の条件で結果が確定した場合に右側の条件を評価しないことを指します。

例:短絡評価

def check():
    print("チェック実行")
    return True

result = False and check()  # Falseが確定しているのでcheck()は実行されない
print(result)  # False

この例では、Falseの時点でandの結果が決定するため、check()関数は実行されません。これが短絡評価です。

まとめ

この章では、Pythonにおけるさまざまな演算子や式の使い方、優先順位、そして短絡評価について学びました。これらの基礎を理解することで、より複雑なプログラムを作成する際に役立ちます。次の章では、Pythonの制御フローについて詳しく学んでいきます。

目次