Liczby zespolone można także definiować przy użyciu funkcji complex(), albo składni <r>+<z>j:
>>> z = 5 + 3j >>> z.real 5.0 >>> z.imag 3.0 >>> z = complex(4, 2) >>> z (4+2j) >>> z = 5 + 3j >>> type(z) <class 'complex'> >>>
Uwaga!
Matematycy część urojoną liczb zespolonych oznaczają literą „i”. W Pythonie – jak widać w powyższym przykładzie - część urojona jest oznaczana poprzez dodanie litery j lub J.
Liczba zespolona jest obiektem (class complex) z własnościami real i imag, zawierającymi odpowiednio część rzeczywistą i urojoną. Obie części liczb zespolonych, rzeczywista i urojona, są liczbami rzeczywistymi.
>>> z = 5 + 3j >>> z.real 5.0 >>> z.imag 3.0 >>>
Liczby zespolone tworzą pierścień – analogicznie jak liczby rzeczywiste. Oznacza to, że operacje dodawania i mnożenia działają identycznie (obowiązują te same prawa).
>>> z = 5 + 3j >>> z1=2+2j >>> z3=3+3j >>> z1/z1
(1+0j) >>> z1*1
(2+2j) >>> z1-z1
0j >>> z1+0
(2+2j) >>> z+z1
(7+5j) >>> z1+z
(7+5j) >>> (z+z1)+z3
(10+8j) >>> z+(z1+z3)
(10+8j) >>> z*(z1*z3)
(-36+60j) >>> (z*z1)*z3
(-36+60j) >>> z*(z1+z3)
(10+40j) >>> z*z1+z*z3
(10+40j) >>>
Niestety nie dotyczy to wszystkich operacji jakie można wykonywać na liczbach. Nie można wykonywać operacji dzielenia modulo (reszty z dzielenia, %).
Nieco inaczej działa funkcja zwracająca wartość absolutną (moduł). Dla liczb rzeczywistych jest to wartość z pominięciem znaku (abs(-2)==2). Dla liczb zespolonych liczy się pierwiastek z sumy kwadratów części rzeczywistej i urojonej
>>> z1 (2+2j) >>> abs(z1) 2.8284271247461903 >>> (z1.real ** 2 + z1.imag ** 2) ** 0.5 2.8284271247461903
Więcej możliwości operowania na liczbach zespolonych dostarcza specjalizowany moduł cmath (complex math).