Python初心者の方向けに、complex()関数の基本的な使い方とよくあるエラーの解決方法について解説します。

complex()関数とは

complex()関数は、実数を複素数に変換するPythonの組み込み関数です。複素数は実部と虚部で構成され、数学や物理学、工学の計算で頻繁に使用されます。

基本的な使い方

# 実数から複素数への変換
num1 = complex(1)  # 結果: 1+0j
num2 = complex(1, 2)  # 結果: 1+2j

# 文字列から複素数への変換
num3 = complex("1+2j")  # 結果: 1+2j

よくあるエラーと解決方法

1. TypeError: complex() can't take second arg if first is string

このエラーは、文字列を第1引数に指定しながら、第2引数も指定した場合に発生します。

# エラーの例
complex("1", 2)  # TypeError: complex() can't take second arg if first is string

# 正しい使用方法
complex("1+2j")  # OK
complex(1, 2)    # OK

2. ValueError: complex() arg is a malformed string

このエラーは、不正な形式の文字列を引数として渡した場合に発生します。

# エラーの例
complex("1+j2")  # ValueError: complex() arg is a malformed string

# 正しい使用方法
complex("1+2j")  # OK
complex("1-2j")  # OK

3. その他のエラー回避のためのベストプラクティス

  • 文字列を使用する場合は、スペースを含めないようにします
  • 虚数部は必ず「j」を使用します(「i」は使用できません)
  • 実部と虚部の間の「+」または「-」は必須です
# 推奨される使用方法
complex(1.5, 2.5)    # 数値での指定
complex("1.5+2.5j")  # 文字列での指定

まとめ

complex()関数を使用する際の主なポイントは以下の通りです:

1. 数値を引数として使用する場合は、実部と虚部を別々に指定できます

2. 文字列を使用する場合は、正しい形式("a+bj")で指定する必要があります

3. 文字列引数を使用する場合は、第2引数を指定できません

これらの点に注意することで、complex()関数のエラーを回避し、正しく複素数を扱うことができます。

実際のプログラミングでは、科学計算やデータ解析などで複素数の計算が必要になることがあります。complex()関数の正しい使用方法を理解することで、そのような場面でも適切に対応することができます。