Konwersja jednego typu danych na inny typ danych jest znana jako
rzutowanie typu w pythonie lub
konwersja typu w pythonie.
Istnieją dwie odmiany rzutowania typów w pythonie:
- jawna konwersja (jawne rzutowanie typu w pythonie);
- niejawna konwersja (niejawne rzutowanie typu w pythonie).
Jawna konwersja - konwersja wykonywana przez programistę lub interwencję użytkownika.
Niejawna konwersja - Python automatycznie konwertuje jeden typ danych na inny typ danych bez potrzeby jakiegokolwiek użytkownika.
Należy pamiętać, że typy danych w Pythonie nie mają tego samego poziomu, tj. kolejność typów danych nie jest taka sama.
Typy danych w Pythonie mają określoną kolejność. Niektóre typy danych są wyższego rzędu, a inne niższego rzędu.
int()
Jeśli mamy dwie liczby, i jedna jest zapisana jako zwykła liczba a druga jako zwykły tekst(string), a chcemy dodać te liczby,
wówczas:
Przykład:
x=5
y="5"
z=int(y)
print(x+z)
10
Jeśli chcemy zamienić liczę zmiennoprzecinkową (rzeczywistą) na liczbę całkowitą, wówczas:
float()
Jeśli chcemy zmienić liczbę całkowitą na zmiennoprzecinkową, wówczas:
Przykład:
x=4
float(x)
4.0
complex()
W liczbach w Pythonie ważna jest metoda complex(). Dzięki tej metodzie można zamienić np. liczbę całkowitą na liczbę zespoloną:
Przykład:
x=4
complex(x)
(4+0j)
Uwaga: Nie można konwertować liczb zespolonych na inny typ liczb.
str()
Jeśli jedna zmienna jest zwykłym tekstem (stringiem) a druga zmienna liczbą, wówczas dzięki metodzie str() możemy liczbę zamienić na stringa:
Przykład:
x=5
y="5"
z=str(x)
print(y+z)
55
ord()
chr()
W pythonie do znalezienia numeru znaku Unicode służy metoda ord() i odwrotnie do znalezienia znaku na podstawie numeru w Unicode służy metoda chr()
Przykład:
ord("a")
97
chr(97)
'a'
Konwersja / Rzutowanie w systemach liczbowych
Konwersja parametru funkcji zapisanej w liczbowym systemie dziesiętnym na binarny, ósemkowy i szesnastkowy system liczbowy.
Oto funkcje zwracające łańcuch znaków poprzez podaną w parametrze liczbę w systemie dziesiętnym na jej odpowiednik w innym systemie liczbowym:
bin()
"bin" to skrót od "binary", czyli konwersja z systemu liczbowego dziesiętnego na system binarny:
bin(5)
'0b101'
oct()
Konwersja na system liczbowy ósemkowy:
oct(5)
'0o5'
hex()
Konwersja na system liczbowy szesnastkowy:
hex(5)
'0x5'
Konwersja / Rzutowanie w kolekcjach: krotki, listy, słowniki, zestawy
tuple() - konwersja listy na krotkę:
Przykład:
y=tuple([1,2,3,4])
print(y)
(1, 2, 3, 4)
tuple() - konwersja słownika na krotkę:
Przykład:
y=tuple({"a":1, "b":2})
print(y)
('a', 'b')
tuple() - konwersja zestawu na krotkę
Przykład:
x={1,2,3,4}
tuple(x)
(1, 2, 3, 4)
set() - konwersja listy na zestaw:
Przykład:
x=[1,2,3,4]
set(x)
{1, 2, 3, 4}
list() - konwersja zestawu na listę:
Przykład:
x={1,2,3,4}
list(x)
[1, 2, 3, 4]