Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの基本演算子まとめ|算術・比較・論理・ビット・代入演算子の使い方

このチュートリアルでは、Pythonで使われる基本的な演算子について詳しく解説します。演算子をマスターすれば、数値計算や条件分岐など、プログラミングの基礎がぐっと固まります。サンプルコードと実行結果も併せて紹介するので、ぜひ手を動かしながら読み進めてください。

算術演算子(Arithmetic Operators)

算術演算子は、足し算・引き算・掛け算などの数学的な計算を行うために使われます。主な算術演算子は以下の通りです。

  • 加算(+) ----- 2つの数値を足します
  • 減算(-) ----- ある数値から別の数値を引きます
  • 乗算(*) ----- 2つの数値を掛け合わせます
  • 除算(/) ----- ある数値を別の数値で割ります
  • 切り捨て除算(//) ----- 割り算の結果から小数点以下を切り捨てた整数を返します
  • 剰余(%) ----- 割り算の余りを返します

それでは、実際の例を見てみましょう。

サンプルコード

# 2つの数値を初期化
a = 5
b = 2
# 加算
print(f'Addition: {a + b}')
# 減算
print(f'Substraction: {a - b}')
# 乗算
print(f'Multiplication: {a * b}')
# 除算
print(f'Division: {a / b}')
# 切り捨て除算
print(f'Floor Division: {a // b}')
# 剰余
print(f'Modulus: {a % b}')

実行結果

上記のプログラムを実行すると、次のような結果が出力されます。

Addition: 7
Substraction: 3
Multiplication: 10
Division: 2.5
Floor Division: 2
Modulus: 1

ポイントとして、/による通常の除算は結果が浮動小数点数(float)になるのに対し、//による切り捨て除算は整数部分だけが返される点に注意しましょう。

比較演算子(Relational Operators)

比較演算子は、結果として True または False を返します。Pythonでは、同じ型のオブジェクト同士を比較する際に使用されます。主な比較演算子は以下の通りです。

  • より大きい(>) ----- ある数値が他方より大きいかどうかを判定します
  • 以上(>=) ----- ある数値が他方以上かどうかを判定します
  • より小さい(<) ----- ある数値が他方より小さいかどうかを判定します
  • 以下(<=) ----- ある数値が他方以下かどうかを判定します
  • 等しい(==) ----- 2つの値が等しいかどうかを判定します
  • 等しくない(!=) ----- 2つの値が等しくないかどうかを判定します

それでは、実際の例を見てみましょう。

サンプルコード

# 2つの数値を初期化
a = 5
b = 2
# より大きい
print(f'Greater than: {a > b}')
# 以上
print(f'Greater than or equal to: {a >= b}')
# より小さい
print(f'Less than: {a < b}')
# 以下
print(f'Less than or equal to: {a <= b}')
# 等しい
print(f'Equal to: {a == b}')
# 等しくない
print(f'Not equal to: {a != b}')

実行結果

上記のコードを実行すると、次のような結果が出力されます。

Greater than: True
Greater than or equal to: True
Less than: False
Less than or qual to: False
Equal to: False
Not equal to: True

論理演算子(Logical Operators)

論理演算子は、andornot のような論理演算を行うために使われます。条件分岐と組み合わせることで、複雑な条件判定を実現できます。

  • and ----- 両方の条件がTrueの場合にTrueを返します
  • or ----- 両方の条件がFalseの場合にFalseを返します
  • not ----- オペランドの真偽値を反転させます

それでは、実際の例を見てみましょう。

サンプルコード

# 変数を初期化
a = True
b = False
# and
print(f'and: {a and b}')
# or
print(f'or: {a or b}')
# not
print(f'not: {not a}')
print(f'not: {not b}')

実行結果

上記のコードを実行すると、次のような結果が出力されます。

and: False
or: True
not: False
not: True

ビット演算子(Bitwise Operators)

ビット演算子は、数値を2進数のビット単位で扱い、AND・OR・NOTなどの演算を行うために使われます。

  • & ----- 対応する両方のビットが1の場合に1を返します(ビットごとのAND)
  • | ----- どちらか一方でもビットが1の場合に1を返します(ビットごとのOR)
  • ~ ----- 各ビットを反転させます(ビットごとのNOT)

それでは、実際の例を見てみましょう。

サンプルコード

# 数値を初期化
a = 5
b = 2
# ビットごとのAND
print(f'Bitwise and: {a & b}')
# ビットごとのOR
print(f'Bitwise or: {a | b}')
# ビットごとのNOT
print(f'Bitwise not: {~a}')
# ビットごとのNOT
print(f'Bitwise not: {~b}')

実行結果

上記のプログラムを実行すると、次のような結果が出力されます。

Bitwise and: 0
Bitwise or: 7
Bitwise not: -6
Bitwise not: -3

~の結果が負の数になるのは、Pythonが補数表現でビット反転を扱っているためです。~a-(a + 1) と同じ結果になります。

代入演算子(Assignment Operators)

代入演算子は、変数に値を代入するために使われます。算術演算と組み合わせた複合代入演算子を使うと、コードを簡潔に書くことができます。

  • = ----- 変数に値を代入します
  • += ----- 加算した結果を変数に代入します
  • -= ----- 減算した結果を変数に代入します
  • *= ----- 乗算した結果を変数に代入します
  • /= ----- 除算した結果を変数に代入します
  • //= ----- 切り捨て除算した結果を変数に代入します
  • %= ----- 剰余を変数に代入します

それでは、実際の例を見てみましょう。

サンプルコード

# =
a = 5
print(f'=:- {a}')
# +=
a += 1 # a = a + 1 と同じ
print(f'+=:- {a}')
# -=
a -= 1 # a = a - 1 と同じ
print(f'-=:- {a}')
# *=
a *= 2 # a = a * 2 と同じ
print(f'*=:- {a}')
# /=
a /= 2 # a = a / 2 と同じ
print(f'/=:- {a}')
# //=
a //= 2 # a = a // 2 と同じ
print(f'//=:- {a}')
# %=
a %= 10 # a = a % 10 と同じ
print(f'%=:- {a}')

実行結果

上記のプログラムを実行すると、次のような結果が出力されます。

=:- 5
+=:- 6
-=:- 5
*=:- 10
/=:- 5.0
//=:- 2.0
%=:- 2.0

/=//=を使った時点で結果が浮動小数点数になるため、その後の出力も小数表示になっている点に注目してください。

まとめ

このチュートリアルでは、Pythonの基本的な演算子である算術演算子比較演算子論理演算子ビット演算子代入演算子について、それぞれの役割と使い方をサンプルコード付きで学びました。これらの演算子は日常的なコーディングで頻繁に登場するため、動作をしっかり理解しておきましょう。

チュートリアルの内容について不明な点や疑問がある場合は、コメント欄でお気軽に質問してください。

  1. Pythonにおける比較演算子の連鎖(チェーン)の使い方を徹底解説

    プログラミングをしていると、1つの条件式の中で複数の条件を同時にチェックしたい場面がよくあります。例えば「x < y < z」のような数学的な記法を使いたい場合や、「x < y かつ x < z」といった形で条件を組み合わせたい場合などです。 他の多くの言語と同様に、Pythonにも基本的な比較演算子が用意されています。具体的には、<、<=、>、>=、==、!=、is、is not、in、not in の各演算子です。 これらの比較演算子はすべて同じ優先順位を持っており、その優先順位は算術演算子・ビット演算子・シフト演算子よりも低く設定されて

  2. Pythonの基本演算子一覧|7種類の演算子の使い方を徹底解説

    Pythonには、値や変数に対してさまざまな処理を行うための「演算子」が多数用意されています。演算子はその役割によって、算術演算子・比較(関係)演算子・論理演算子・ビット演算子・代入演算子・同一性演算子・メンバーシップ演算子の7種類に分類されます。この記事では、それぞれの種類ごとに使い方をわかりやすく解説します。 1. 算術演算子 数値の計算に使用する最も基本的な演算子です。 +:加算(足し算) -:減算(引き算) *:乗算(掛け算) /:除算(割り算)。結果は常に浮動小数点数になる //:切り捨て除算。小数点以下を切り捨てた結果を返す %:剰余(割り算の余り) a = 10 b = 3