ユーニックス総合研究所

  • home
  • archives
  • python-dainyu-enzanshi

Pythonでよく使う代入演算子のまとめ

  • 作成日: 2023-07-13
  • 更新日: 2023-12-24
  • カテゴリ: Python

Pythonでよく使う代入演算子

Pythonでよく使う代入演算子は以下の5つです。

  • += ... 加算代入
  • -= ... 減算代入
  • *= ... 乗算代入
  • /= ... 除算代入
  • %= ... 剰余算代入

この記事ではこれらの代入演算子について詳しく解説します。

関連記事
Djangoでオブジェクトを一括作成・更新【bulk_create, bulk_update】
DjangoのModel.objects.filter()の使い方【QuerySet】
Djangoのmodelのcreate()の使い方【Python】
Django入門: ルートの設定 ~ 簡単な一行掲示板アプリを作る その4【Windows10】
NumPyのappend()の使い方: 配列の末尾に要素を追加
Numpyのarangeの使い方: 指定範囲の数列を生成する
Python3でYoutube Data APIを使ってキーワード検索する
PythonからC言語(my.puts)を呼び出して実行する

加算代入

+=の加算代入は足し算の演算です。
左側の変数に値を足したい時に使います。

a = 1  
a += 2  
print(a)  # 3  

上記のa += 2というのはa = a + 2と同じ結果になります。
マイナスの値を加算すると結果的に引き算になります。

a = 1  
a += -1  
print(a)  # 0  

減算代入

-=の減算代入は引き算の演算です。
左側の変数から値を引きたい時に使います。

a = 3  
a -= 1  
print(a)  # 2  

上記のa -= 1というのはa = a - 1と同じ結果になります。
マイナスの値を引くと結果的に足し算になります。

a = 3  
a -= -1  
print(a)  # 4  

乗算代入

*=の乗算代入は掛け算の演算です。
左側の変数に値を掛けたい時に使います。

a = 2  
a *= 3  
print(a)  # 6  

上記のa *= 3というのはa = a * 3と同じ結果になります。

除算代入

/=の除算代入は割り算の演算です。
左側の変数を値で割りたい時に使います。

a = 4  
a /= 2  
print(a)  # 2.0  

上記のa /= 2というのはa = a / 2と同じ結果です。
割り算を行うとintfloatになる点に注意してください。
またこの代入演算でも0で割ることはできません。

a = 4  
a /= 0  
# Traceback (most recent call last):  
#   File "main.py", line 2, in <module>  
#     a /= 0  
# ZeroDivisionError: division by zero  

上記のように0で割るとZeroDivisionError例外が発生します。
この例外を細くしたい場合は以下のようにtry文を書きます。

a = 4  

try:  
    a /= 0  
except ZeroDivisionError as e:  
    print(e)  
    # division by zero  

除算の結果を整数にする

また//=という演算子もありこれを使うと除算の結果が整数になります。

# /= は結果がfloat  
a = 3  
a /= 2  
print(a)  # 1.5  

# //= は結果がint  
a = 3  
a //= 2  
print(a)  # 1  

この//=演算子も0で除算しようとするとZeroDivisionErrorになります。

剰余算代入

%=の剰余算代入は割り算の余りを求める演算です。
左側の変数を値で割ってその余りを代入します。

a = 3  
a %= 2  
print(a)  # 1  

上記のa %= 2というのはa = a % 2と同じ結果になります。
aには3が入っているのでそれを2で割ると余りは1になります。

またこの代入演算子も0で剰余を求めることはできません。

a = 3  
a %= 0  
# Traceback (most recent call last):  
#   File "main.py", line 2, in <module>  
#     a %= 0  
# ZeroDivisionError: integer division or modulo by zero  

上記のように0で剰余を求めようとするとZeroDivisionErrorになります。
この場合も例外を補足するには以下のようにコードを書きます。

a = 3  

try:  
    a %= 0  
except ZeroDivisionError as e:  
    print(e)  
    # integer division or modulo by zero  

そのほかの代入演算子

ここまで紹介した代入演算子の他には以下があります。

  • **= ... (べき乗の後に代入)
  • &= ... (ビットのAND演算の後に代入)
  • |= ... (ビットのOR演算の後に代入)
  • ^= ... (ビットのXOR演算の後に代入)
  • >>= ... (ビットの右シフトの演算の後に代入)
  • <<= ... (ビットの左シフトの演算の後に代入)

今回はこれらの代入演算子については省略します。

おわりに

今回はPythonのよく使う代入演算子について解説しました。
なにか参考になれば幸いです。

🦝 < 代入演算!

🦝 < 代入するぞ