Pythonの複素数型について現役エンジニアが解説【初心者向け】

初心者向けにPythonの複素数型について現役エンジニアが解説しています。複素数というのは、実数+虚数の形で表される数のことです。虚数とは2乗すると-1になるような数のことです。Pythonで複素数を扱うには虚数の部分にjをつけて宣言します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

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

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonの複素数型について詳しく説明していくね!

大石ゆかり

お願いします!

この記事では、Pythonで複素数を扱う方法について解説します。

複素数ってなに?という方のためにも、複素数についてかんたんな解説をするので安心してください。

複素数とは

まずは、「複素数」について解説します。

複素数について理解するには、その前に「虚数」について知っておく必要があります。

虚数というのは、「二乗したら-1になる数」のことです。

数学では英語の小文字のiで書かれることが多いのですが、Pythonでは小文字のjが使われます。

数学だと、

Pythonで複素数型を扱う方法。2乗すると-1になる虚数の計算式

となり、Pythonや電気工学などでは、

虚数のPythonや電気工学などの場合の計算式

という表記が使われます。

そして、複素数というのは、実数+虚数の形で表される数のことで、

Pythonで扱う複素数の計算式。実数+虚数の形で表される数

のようにして表記されます。

この表記で、aをこの複素数の「実部」、bを「虚部」と言います。

複素数型について

Pythonでは、複素数について扱うためのcomplex型が用意されています。

複素数を扱うには、int型やfloat型を使うのと同じようにすればいいのですが、虚部の部分にjをつけて宣言します。

例えば、

a = 2+3j

のような形です。

少数の場合は、以下のように記述します。

b = 1.7 + 3.2j

複素数型は、通常の数と同じように四則演算ができます。

そして、通常の四則演算に加えて複素数の「絶対値」や、「極座標表示」、そして「共役な複素数」と呼ばれるような値を取得する関数もmathモジュールに用意されています。

ここでは詳しく触れませんが、興味のある方は調べてみると良いでしょう。

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

実際に書いてみよう

では、実際にコードを書いて確認してみましょう。

この記事で扱うコードは単純なので、Pythonの対話型で行なってますが、お使いの環境に応じて実行方法を変えてもらっても問題ありません。

まずは、複素数型を宣言して、表示してみます。

>>> a= 1+2j
>>> print(a)
(1+2j)

続いて、もう一つ複素数型を宣言して、四則演算をしてみます。

>>> b = 3+5j

足し算

>>> a+b
(4+7j)

引き算

>>> a-b
(-2-3j)

掛け算

>>> a*b
(-7+11j)

割り算

>>> a/b
(0.3823529411764706+0.029411764705882346j)

それぞれちゃんと計算ができていることが確認できたと思います。

aとbの値を変えてみて、確認してみてください。

まとめ

実際に複素数を扱うことは少ないかもしれませんが、頭の片隅にでも入れておくと、必要なときに役に立ちます。

監修してくれたメンター

メンターOS

AIプログラミングを使って開発を行う。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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