complex(real_part=0, imag_part=0)
complex(str)

complex یک کلاس توکار برای کار با اعداد مختلط هست. کار با اعداد مختلط مانند کار با اعداد صحیح و اعشاری است و عملگر های جمع،تفریق،ضرب و باقیمانده را میتوانید با آنها استفاده کنید.برای ایجاد یک عدد مختلط به سادگی از الگوی بالا کمک بگیرید.

>>> a = complex(10, 12)
>>> a
(10+12j)
>>> b = complex(0, 1)
>>> b
1j
>>> a + b
(10+13j)
>>> a - b
(10+11j)
>>> a/b
(12-10j)
>>> a*b
(-12+10j)

توجه کنید، زمانی که میخواهید رشته‌ای را به اعداد مختلط تبدیل کنید، رشته باید در قالب a+bj باشد که a و b اعداد حقیقی هستند و تنها اول یا آخر رشته space میتواند وجود داشته باشد:

>>> complex("1")
(1+0j)
>>> complex("1+j")
(1+1j)
>>> complex("1+ j")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: complex() arg is a malformed string
>>> complex("1 +j")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: complex() arg is a malformed string
>>> complex(" 1+j")
(1+1j)
>>> complex(" 1+j ")
(1+1j)

اعداد مختلط دو خصوصیت real و imag دارند که به ترتیب قسمت حقیقی و موهومی عدد را مشخص می‌کنند. همچنین تابع conjugate مزدوج اعداد مختلط را برمیگرداند:

>>> a = complex(1, 2)
>>> a
(1+2j)
>>> a.real
1.0
>>> a.imag
2.0
>>> a.conjugate()
(1-2j)


ماژول cmath معادل math برای اعداد مختلط است و توابع مختلفی مانند ریشه مربعی، توابع مثلثاتی، لگاریتم و ... را برای اعداد مختلط دارد.