Konwersja typu oznacza zmianę typu danych wartości. Na przykład konwertowanie liczby całkowitej (5) na liczbę zmiennoprzecinkową (5.0) lub ciągu znaków („10”) na liczbę całkowitą (10). W Pythonie istnieją dwa typy konwersji typów:
- Niejawna konwersja: Python sam zmienia typ danych podczas uruchamiania kodu, aby uniknąć błędów lub utraty danych.
- Jawna konwersja: Celowo zmieniasz typ danych, używając funkcji takich jak int() float() lub str().
Niejawna konwersja typów
W Python automatycznie konwertuje jeden typ danych na inny podczas oceny wyrażenia. Zwykle dzieje się tak, gdy w operacji mniejszy typ danych, taki jak int, jest łączony z większym, takim jak float. Przykład:
Pythonx = 10 # Integer y = 10.6 # Float z = x + y print('x:' type(x)) print('y:' type(y)) print('z =' z) print('z :' type(z))
Wyjście
x:y: z = 20.6 z :
Wyjaśnienie: x jest liczbą całkowitą i I jest pływakiem. W z = x + y Python automatycznie konwertuje X pływać, aby uniknąć utraty danych z pływak 0,6.
Jawna konwersja typów
Wyraźna konwersja (lub rzutowanie typu) ma miejsce wtedy, gdy ręcznie konwertujesz typ danych wartości za pomocą języka Python wbudowane funkcje . Jest to przydatne, gdy chcesz kontrolować sposób interpretacji danych lub manipulowania nimi w kodzie. Niektóre typowe funkcje rzutowania typów obejmują:
ls wydaje polecenia Linuksowi
- konwertuje wartość na liczbę całkowitą
- platforma() konwertuje wartość na liczbę zmiennoprzecinkową
- str() konwertuje wartość na ciąg
- bool() konwertuje wartość na wartość logiczną (prawda/fałsz)
Przykład:
Pythons = '100' # String a = int(s) print(a) print(type(a))
Wyjście
100
Wyjaśnienie: a = int(s) jawnie konwertujemy go na liczbę całkowitą. Ta ręczna zmiana typu nazywana jest jawną konwersją typu i przyjmuje wartość 100 typu
Przykłady typowych funkcji konwersji typów
Przykład 1: Konwersja ciągu binarnego
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Wyjście
18 10010.0
Wyjaśnienie:
- int(s 2)
- pływak (y) konwertuje ciąg znaków na liczbę zmiennoprzecinkową.
Przykład 2: Konwersja szesnastkowa i ósemkowa ASCII
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Wyjście
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Wyjaśnienie:
- słowa) zwraca kod ASCII znaku „4”.
- klątwa() I październik() przekonwertuj liczbę całkowitą 56 odpowiednio na jej reprezentację szesnastkową i ósemkową.
Przykład 3 : Ciąg do zestawu krotek i listy
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Wyjście
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Wyjaśnienie:
- krotka (y) utrzymuje porządek wszystkich znaków, łącznie z duplikatami.
- usuwa duplikaty i zwraca nieuporządkowaną kolekcję.
- lista(y) zwraca listę znaków z ciągu.
Przykład 4: Inne konwersje – słownik ciągów złożonych
Pythona = 1 tup = (('a' 1) ('f' 2) ('g' 3)) print('To complex:' complex(1 2)) print('To string:' str(a)) print('To dict:' dict(tup))
Wyjście
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Wyjaśnienie:
- złożone(1 2) tworzy liczbę zespoloną z częścią rzeczywistą 1 i częścią urojoną 2.
- str(a) konwertuje liczbę całkowitą 1 na ciąg znaków „1”.
- dyktuj (tu) tworzy słownik na podstawie sekwencji krotek klucz-wartość.