Pythonを学ぶうえで、演算子は最も基本的な要素の一つです。
数値や文字列、リストなどさまざまなデータ型を操作し、プログラムをより豊かにします。
本記事では、Pythonの主要な演算子を初級者向けにわかりやすく解説し、最後に練習問題と解答例を用意しました。
演算子とは何か?
演算子とは、値と値の間で演算を行う記号やキーワードのことです。例えば、足し算を行う「+」や、等しいかどうかを調べる「==」などがあります。
プログラミングでは、演算子を使うことで数値計算だけでなく、条件判定やデータ操作などが可能になります。
演算子の種類と使い方
算術演算子
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
+ | 足し算 | 3 + 5 | 8 |
– | 引き算 | 10 – 4 | 6 |
* | 掛け算 | 2 * 7 | 14 |
/ | 割り算 | 9 / 2 | 4.5 |
// | 整数除算 | 9 // 2 | 4 |
% | 余り | 9 % 2 | 1 |
** | べき乗 | 3 ** 2 | 9 |
# 例:算術演算子
a = 8
b = 3
print(a + b) # 11
print(a // b) # 2
print(a ** b) # 512
比較演算子
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
== | 等しい | 5 == 5 | True |
!= | 等しくない | 5 != 3 | True |
> | より大きい | 7 > 10 | False |
< | より小さい | 7 < 10 | True |
>= | 以上 | 5 >= 5 | True |
<= | 以下 | 5 <= 4 | False |
# 例:比較演算子
x = 10
y = 7
print(x > y) # True
print(x == y) # False
論理演算子
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
and | かつ | True and False | False |
or | または | True or False | True |
not | 否定 | not True | False |
# 例:論理演算子
a = 5
b = 10
print(a > 0 and b > 0) # True
print(not (a == b)) # True
代入演算子
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
= | 代入 | x = 5 | – |
+= | 足して代入 | x += 3 | x = x + 3 |
-= | 引いて代入 | x -= 2 | x = x – 2 |
*= | 掛けて代入 | x *= 4 | x = x * 4 |
/= | 割って代入 | x /= 5 | x = x / 5 |
# 例:代入演算子
count = 0
count += 1 # count は 1 になる
count *= 3 # count は 3 になる
ビット演算子
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
& | ビットAND | 5 & 3 | 1 |
` | ` | ビットOR | `5 |
^ | ビットXOR | 5 ^ 1 | 4 |
~ | ビットNOT | ~5 | -6 |
<< | 左シフト | 2 << 1 | 4 |
>> | 右シフト | 8 >> 2 | 2 |
# 例:ビット演算子
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 b | True/False |
is not | 同一でないか | a is not b | True/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
次の計算結果を答えよ。
- 7 + 5 * 2
- (7 + 5) * 2
- 9 // 4
- 9 % 4
- 3 ** 3
問題2
変数 a = 10, b = 3 のとき、次の式の結果を答えよ。
- a > b and b > 0
- not (a == b)
- a % b == 1
問題3
リスト L = [2,4,6,8] に対して、次の問いに答えよ。
- 6 in L
- 5 not in L
- L[1] + L[-1]
問題4
変数 x = [1,2,3], y = x, z = [1,2,3] のとき、次の式の結果を答えよ。
- x is y
- x is z
演習問題 解答例
問題1 解答
- 7 + 5 * 2 → 7 + 10 = 17
- (7 + 5) * 2 → 12 * 2 = 24
- 9 // 4 = 2
- 9 % 4 = 1
- 3 ** 3 = 27
問題2 解答
- a > b and b > 0 → True and True = True
- not (a == b) → not False = True
- a % b == 1 → 10 % 3 == 1 → 1 == 1 = True
問題3 解答
- 6 in L = True
- 5 not in L = True
- L[1] + L[-1] → 4 + 8 = 12
問題4 解答
- x is y = True (同一オブジェクト)
- x is z = False (別オブジェクト)
まとめ
本記事では、Pythonの演算子を初級者向けに体系的に解説しました。算術演算子や比較演算子、論理演算子から、ビット演算子やメンバーシップ演算子、同一性演算子までを学びました。
演算子の優先順位を理解し、実践例と演習問題を通じて確実に身につけましょう。
演算子はプログラムの基本中の基本です。ぜひ、今回の内容を復習し、さまざまなプログラムで活用してみてください。