Python complex() 関数
complex()Pythonで複素数(complex number)を作成するための組み込み関数です。
複素数は実部と虚部から構成され、数学や工学の分野で広く応用されています(例: 信号処理、物理シミュレーションなど)。Pythonは複素数型を標準でサポートしており、複雑な計算がより便利になります。
単語の意味: complex「複素数の」という意味で、実部と虚部を含む数を表します。
基本構文とパラメータ
complex()組み込み関数であり、直接呼び出すことができます。
構文形式
complex(real) complex(real, imag) complex(string)
パラメータの説明
- パラメータ real:
- 型: 数値(整数または浮動小数点数)
- 説明: 複素数の実部。このパラメータのみを指定する場合、実数または複素数を表す文字列を指定できます。
- パラメータ imag(オプション):
- 型: 数値(整数または浮動小数点数)
- 説明: 複素数の虚部。
- パラメータ string:
- 型: 文字列
- 説明: 複素数を表す文字列(例: "3+4j" または "3+4i")。
関数の説明
- 戻り値: real + imag*j の形式の複素数オブジェクトを返します。
- 虚数単位: Pythonでは
j虚数単位を表します(物理学で一般的に使用されるi)。
例
例を通してcomplex()の使い方をマスターしましょう。
例1: 基本的な使い方 - 複素数を作成する
例
# 2つのパラメータを使用して複素数を作成: 実部と虚部
c1 = complex(3, 4)
print(c1) # 出力: (3+4j)
# 虚部が0
c2 = complex(5, 0)
print(c2) # 出力: (5+0j)
# 実部が0
c3 = complex(0, 2)
print(c3) # 出力: 2j
# 負の虚部
c4 = complex(1, -2)
print(c4) # 出力: (1-2j)
c1 = complex(3, 4)
print(c1) # 出力: (3+4j)
# 虚部が0
c2 = complex(5, 0)
print(c2) # 出力: (5+0j)
# 実部が0
c3 = complex(0, 2)
print(c3) # 出力: 2j
# 負の虚部
c4 = complex(1, -2)
print(c4) # 出力: (1-2j)
実行結果の期待値:
(3+4j) (5+0j) 2j (1-2j)
コードの解説:
complex(3, 4)実部が3、虚部が4の複素数を作成します。- Pythonは使用する
jではなくi虚数単位を表すために。 - 純虚数(実部が0)または純実数(虚部が0)を作成できます。
例2: 文字列から複素数を作成する
例
# 文字列から複素数を作成する
c1 = complex("3+4j")
print(c1) # 出力: (3+4j)
# スペースがあっても構いません
c2 = complex(" 1 + 2j ")
print(c2) # 出力: (1+2j)
# j の代わりに i を使用(文字列内のみ)
c3 = complex("3+4j") # Pythonは j のみ認識し、i は認識しない
print(c3) # 出力: (3+4j)
c1 = complex("3+4j")
print(c1) # 出力: (3+4j)
# スペースがあっても構いません
c2 = complex(" 1 + 2j ")
print(c2) # 出力: (1+2j)
# j の代わりに i を使用(文字列内のみ)
c3 = complex("3+4j") # Pythonは j のみ認識し、i は認識しない
print(c3) # 出力: (3+4j)
実行結果の期待値:
(3+4j) (1+2j) (3+4j)
コードの解説:
- 文字列形式の複素数は直接
complex()関数に渡すことができます。 - 文字列にはスペースを含めることができます。
- 注意:Pythonの複素数がサポートするのは
jのみで、サポートしていませんi。
例3: 複素数の演算
例
# 複素数を作成
a = complex(3, 4)
b = complex(1, 2)
# 加算
print(f"a + b = {a + b}") # 出力: a + b = (4+6j)
# 減算
print(f"a - b = {a - b}") # 出力: a - b = (2+2j)
# 乗算
print(f"a * b = {a * b}") # 出力: a * b = (-5+10j)
# 除算
print(f"a / b = {a / b}") # 出力: a / b = (2.2-0.4j)
# 共役複素数
print(f"共役: {a.conjugate()}") # 出力: 共役: (3-4j)
# 絶対値(モジュラス)
print(f"絶対値: {abs(a)}") # 出力: 絶対値: 5.0
a = complex(3, 4)
b = complex(1, 2)
# 加算
print(f"a + b = {a + b}") # 出力: a + b = (4+6j)
# 減算
print(f"a - b = {a - b}") # 出力: a - b = (2+2j)
# 乗算
print(f"a * b = {a * b}") # 出力: a * b = (-5+10j)
# 除算
print(f"a / b = {a / b}") # 出力: a / b = (2.2-0.4j)
# 共役複素数
print(f"共役: {a.conjugate()}") # 出力: 共役: (3-4j)
# 絶対値(モジュラス)
print(f"絶対値: {abs(a)}") # 出力: 絶対値: 5.0
実行結果の期待値:
a + b = (4+6j) a - b = (2+2j) a * b = (-5+10j) a / b = (2.2-0.4j) 共轭: (3-4j) 模: 5.0
この例では、複素数の基本的な演算(加算、減算、乗算、除算、共役、絶対値)を示しています。
その他の拡張