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).

Ostatnia modyfikacja: niedziela, 23 października 2022, 18:35