はじめてのPython演算子入門 ~基本から練習問題まで~

Pythonを学ぶうえで、演算子は最も基本的な要素の一つです。

数値や文字列、リストなどさまざまなデータ型を操作し、プログラムをより豊かにします。

本記事では、Pythonの主要な演算子を初級者向けにわかりやすく解説し、最後に練習問題と解答例を用意しました。


演算子とは何か?

演算子とは、値と値の間で演算を行う記号やキーワードのことです。例えば、足し算を行う「+」や、等しいかどうかを調べる「==」などがあります。

プログラミングでは、演算子を使うことで数値計算だけでなく、条件判定やデータ操作などが可能になります。


演算子の種類と使い方

算術演算子

演算子意味結果
+足し算3 + 58
引き算10 – 46
*掛け算2 * 714
/割り算9 / 24.5
//整数除算9 // 24
%余り9 % 21
**べき乗3 ** 29
# 例:算術演算子
a = 8
b = 3
print(a + b)    # 11
print(a // b)   # 2
print(a ** b)   # 512

比較演算子

演算子意味結果
==等しい5 == 5True
!=等しくない5 != 3True
>より大きい7 > 10False
<より小さい7 < 10True
>=以上5 >= 5True
<=以下5 <= 4False
# 例:比較演算子
x = 10
y = 7
print(x > y)    # True
print(x == y)   # False

論理演算子

演算子意味結果
andかつTrue and FalseFalse
orまたはTrue or FalseTrue
not否定not TrueFalse
# 例:論理演算子
a = 5
b = 10
print(a > 0 and b > 0)   # True
print(not (a == b))      # True

代入演算子

演算子意味結果
=代入x = 5
+=足して代入x += 3x = x + 3
-=引いて代入x -= 2x = x – 2
*=掛けて代入x *= 4x = x * 4
/=割って代入x /= 5x = x / 5
# 例:代入演算子
count = 0
count += 1    # count は 1 になる
count *= 3    # count は 3 になる

ビット演算子

演算子意味結果
&ビットAND5 & 31
``ビットOR`5
^ビットXOR5 ^ 14
~ビットNOT~5-6
<<左シフト2 << 14
>>右シフト8 >> 22
# 例:ビット演算子
print(5 & 3)   # 1
print(2 << 2)  # 8

メンバーシップ演算子

演算子意味結果
in含まれるか‘a’ in ‘apple’True
not in含まれないか5 not in [1,2,3]True
# 例:メンバーシップ演算子
fruits = ['apple', 'banana', 'cherry']
print('banana' in fruits)   # True

同一性演算子

演算子意味結果
is同一オブジェクトかa is bTrue/False
is not同一でないかa is not bTrue/False
# 例:同一性演算子
x = [1,2,3]
y = x
z = [1,2,3]
print(x is y)    # True
print(x is z)    # False

演算子の優先順位

Pythonでは演算子に優先順位があり、強いものから順に計算されます。主な順序は以下の通りです。

  • () (括弧)
  • **(べき乗)
  • +x, -x, ~x(単項演算子)
  • *, /, //, %
  • +, –
  • <<, >>
  • &
  • ^
  • |
  • 比較演算子
  • not
  • and
  • or
  • 代入演算子
# 例:優先順位
print(2 + 3 * 4)    # 14
print((2 + 3) * 4)  # 20

実践例:簡単なプログラムを作ってみよう

ここでは、ユーザーから2つの数値を入力して、四則演算の結果を表示するプログラムを作ります。

# sample_calc.py

# ユーザー入力
num1 = float(input('1つ目の数字を入力してください: '))
num2 = float(input('2つ目の数字を入力してください: '))

# 演算結果
print(f"{num1} + {num2} = {num1 + num2}")
print(f"{num1} - {num2} = {num1 - num2}")
print(f"{num1} * {num2} = {num1 * num2}")
print(f"{num1} / {num2} = {num1 / num2 if num2 != 0 else '無限大'}")

演習問題

以下の問いに答えてみましょう。

問題1

次の計算結果を答えよ。

  1. 7 + 5 * 2
  2. (7 + 5) * 2
  3. 9 // 4
  4. 9 % 4
  5. 3 ** 3
問題2

変数 a = 10, b = 3 のとき、次の式の結果を答えよ。

  1. a > b and b > 0
  2. not (a == b)
  3. a % b == 1
問題3

リスト L = [2,4,6,8] に対して、次の問いに答えよ。

  1. 6 in L
  2. 5 not in L
  3. L[1] + L[-1]
問題4

変数 x = [1,2,3], y = x, z = [1,2,3] のとき、次の式の結果を答えよ。

  1. x is y
  2. x is z

演習問題 解答例

問題1 解答
  1. 7 + 5 * 2 → 7 + 10 = 17
  2. (7 + 5) * 2 → 12 * 2 = 24
  3. 9 // 4 = 2
  4. 9 % 4 = 1
  5. 3 ** 3 = 27
問題2 解答
  1. a > b and b > 0 → True and True = True
  2. not (a == b) → not False = True
  3. a % b == 1 → 10 % 3 == 1 → 1 == 1 = True
問題3 解答
  1. 6 in L = True
  2. 5 not in L = True
  3. L[1] + L[-1] → 4 + 8 = 12
問題4 解答
  1. x is y = True (同一オブジェクト)
  2. x is z = False (別オブジェクト)

まとめ

本記事では、Pythonの演算子を初級者向けに体系的に解説しました。算術演算子や比較演算子、論理演算子から、ビット演算子やメンバーシップ演算子、同一性演算子までを学びました。

演算子の優先順位を理解し、実践例と演習問題を通じて確実に身につけましょう。

演算子はプログラムの基本中の基本です。ぜひ、今回の内容を復習し、さまざまなプログラムで活用してみてください。