Pythonの複合演算子について現役エンジニアが解説【初心者向け】

初心者向けにPythonの複合演算子について現役エンジニアが解説しています。複合演算子とは+=などの加算代入などのことです。左辺と右辺を足したものを左辺に代入します。+=とすることで2つの処理を省略することが出来ます。他にも減算代入や除算代入、乗算代入などをPythonで書いてみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonの複合演算子について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonの複合演算子について詳しく説明していくね!

大石ゆかり

お願いします!

 

複合演算子とは

まずはじめに、複合演算子について説明します。

プログラムを書いている中で、よく変数の値を書き変えて変数の値を更新する場面があります。

例えば、変数aの値を1プラスする”a = a + 1″や変数aの値を2倍する”a = a * 2 “など です。

このような代入式を短く記述するために使用するものが複合演算子になります。

Pythonの複合演算子の一覧と概要

複合演算子は下記図のようなものが存在します。

通常の計算式と比較すると、複合演算子を使用する事でシンプルな式になっている事が確認できます。

Pythonの複合演算子の一覧表。加算代入・減算代入・乗算代入・除算代入・剰余代入・連結代入・整数除算代入。

この一覧以外にも、ビット演算子を使用した複合演算子などがあります。

[PR] Pythonで挫折しない学習方法を動画で公開中

複合演算子を実際に利用してみよう

それでは、複合演算子をサンプルコードを例に実際に使ってみましょう。

今回は簡単なfor文を使用してループ処理の中で複合演算子を使用します。

サンプルコード

mylist = [1,2,3,4,5]

# 加算代入
print("[加算代入]")

for i in mylist:
  a = 3
  a += i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 減算代入
print("[減算代入]")

for i in mylist:
  a = 3
  a -= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 乗算代入
print("[乗算代入]")

for i in mylist:
  a = 3
  a *= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 除算代入
print("[除算代入]")

for i in mylist:
  a = 3
  a /= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 剰余代入
print("[剰余代入]")

for i in mylist:
  a = 3
  a %= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 連結代入
print("[連結代入]")

for i in mylist:
  a = 3
  a **= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

# 整数除算代入
print("[整数除算代入]")

for i in mylist:
  a = 3
  a //= i
  print("i=" + str(i) + ", 計算結果>>" + str(a) )

 

実行結果

[加算代入]
i=1, 計算結果>>4
i=2, 計算結果>>5
i=3, 計算結果>>6
i=4, 計算結果>>7
i=5, 計算結果>>8
[減算代入]
i=1, 計算結果>>2
i=2, 計算結果>>1
i=3, 計算結果>>0
i=4, 計算結果>>-1
i=5, 計算結果>>-2
[乗算代入]
i=1, 計算結果>>3
i=2, 計算結果>>6
i=3, 計算結果>>9
i=4, 計算結果>>12
i=5, 計算結果>>15
[除算代入]
i=1, 計算結果>>3.0
i=2, 計算結果>>1.5
i=3, 計算結果>>1.0
i=4, 計算結果>>0.75
i=5, 計算結果>>0.6
[剰余代入]
i=1, 計算結果>>0
i=2, 計算結果>>1
i=3, 計算結果>>0
i=4, 計算結果>>3
i=5, 計算結果>>3
[連結代入]
i=1, 計算結果>>3
i=2, 計算結果>>9
i=3, 計算結果>>27
i=4, 計算結果>>81
i=5, 計算結果>>243
[整数除算代入]
i=1, 計算結果>>3
i=2, 計算結果>>1
i=3, 計算結果>>1
i=4, 計算結果>>0
i=5, 計算結果>>0

 

解説

今回のサンプルコードでは簡単なfor文の繰り返し処理の中で複合演算子の計算を実行しています。

コード1行目では、変数mylistに1から5までの数値をリスト型で設定しています。このリストを使用してfor文を設定し、変数iを使用して各種演算をおこなっています。

コード3-9行目では、加算代入の処理をしています。コード11-17 行目では、減算代入の処理をしています。

コード19-25行目では、乗算代入の処理をしています。コード27-33行目では、除算代入の処理をしています。

コード35-41行目では、剰余代入の処理をしています。コード43-49行目では、連結代入の処理をしています。

コード51-57行目では、整数除算代入の処理をしています。

サンプルコードにそれぞれの処理コメントを記入しているのでそちらを参考にしてください。

実行結果では変数a=3に対して、1から5までの変数iを使用して各種複合演算子による計算結果が出力されていることが確認できます。

まとめ

今回はPythonの複合演算子について紹介しました。

数値計算を得意とするPythonでは使用する場面が頻繁に出てくると思いますので、今回の内容をしっかりと理解しプログラム作成に役立ててください。

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。
開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。
TechAcademyではPythonコースを担当しております。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。