icon
icon

Pythonのインクリメント演算子を代替する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのインクリメント演算子を代替する方法について現役エンジニアが解説しています。インクリメント演算子(++)とは、変数の値を1増やすという処理をする演算子です。1減らすデクリメント演算子もあります。Pythonでは累算代入(+=)を用いてインクリメントを表現します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonのインクリメント演算子を代替する方法について解説します。

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonのインクリメント演算子を代替する方法について詳しく説明していくね!

大石ゆかり

お願いします!

プログラミングを組む際にインクリメント演算子はよく使用されます。しかし、実はPythonにはインクリメント演算子が存在していません。そのため、この記事ではPythonでインクリメント演算子を代替する方法について解説します。

インクリメント演算子とは?

インクリメント演算子(++)とは、変数の値を1増やす処理をする演算子です。逆に変数の値を1減らす演算子をデクリメント演算子(–)といいます。

インクリメントやデクリメントは、C言語やJava、PHPなど多くのプログラミング言語で存在する演算子です。

Pythonではなぜインクリメント演算子が利用できないのか

Pythonでもインクリメントを使って処理を書くことはできるのでしょうか。

結論からいうと、Pythonにはインクリメントやデクリメントが存在していません。

インクリメント演算子が存在しない理由の諸説は様々あります。

その中でも有力な説は、Python開発者であるグイド・ヴァンロッサム氏が”+”演算子や”-“演算子に「値を足す」や「値を引く」という以外の複雑な意味を持たせたくなかったという考えがあるといわれています。

加えて、Pythonはシンプルなコードを書くことができる点が基本方針です。そのため、余計な意味合いを持たせたくなかったといえるでしょう。

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

累算代入を利用する方法

Pythonではインクリメントを代替する方法として累算代入演算子を使う方法が考えられます。

累算代入演算子とは”+=”や”-=”を使い左辺の変数に右辺の値を処理する方法のことです。

 

例えば、累算代入演算子を使わない場合、変数xに10を加える処理は以下のように

x = x + 10

と書きます。しかし、累算代入演算子を使うと

x += 10

と短くシンプルに書くことが可能です。

Pythonにおける演算子を利用して代入してみよう

ここでは、実際に累算演算子を使ってインクリメントを代替する方法を紹介します。

以下、累計演算子を使用するコードです。

プログラムソースコード

i = 0
while i < 5:
  print(str(i) + "番目です")
  i += 1

 

表示結果

0番目です
1番目です
2番目です
3番目です
4番目です

 

解説

この処理は0からスタートして5未満の整数まで繰り返す処理です。

1行目では、変数iに初期値0を代入しています。

今回はこの変数iを累算代入演算子を使ってインクリメント処理していきましょう。

2行目ではwhile文で繰り返し条件として指定しているのは、 変数iが5未満の時です。

3行目で表示させた後4行目で累算代入演算子を使って変数iに1を追加します。

 

インクリメントは変数を1ずつ増やす演算子であるため、累算代入演算子を使う時は += 1 と記入しましょう。

 

Pythonではインクリメント演算子を使用できません。しかし、累算代入演算子はインクリメント演算子の代替が可能です。

しかし、累算代入演算子で変数や文字に代入することも可能であるため、有効に活用していきましょう。

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

Pythonのインクリメント演算子を代替する方法がよくわかりました!

田島悠介

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

大石ゆかり

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

 

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

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。