Conversia tip înseamnă modificarea tipului de date al unei valori. De exemplu conversia unui număr întreg (5) într-un număr flotant (5.0) sau a unui șir ('10') într-un număr întreg (10). În Python există două tipuri de conversie de tip:
- Conversie implicită: Python modifică singur tipul de date în timp ce rulează codul pentru a evita greșelile sau pierderea datelor.
- Conversie explicită: Schimbați intenționat tipul de date folosind funcții precum int() float() sau str().
Conversie implicită de tip
În conversie implicită Python convertește automat un tip de date în altul în timpul evaluării expresiei. Acest lucru se întâmplă de obicei atunci când un tip de date mai mic, cum ar fi int, este combinat cu unul mai mare, cum ar fi float, într-o operație. Exemplu:
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))
Ieșire
x:y: z = 20.6 z :
Explicație: x este un număr întreg și şi este un plutitor. În z = x + y Python convertește automat x să plutească pentru a evita pierderea datelor Cu un plutitor 0,6.
Conversie explicită de tip
Conversie explicită (sau tip casting) este atunci când convertiți manual tipul de date al unei valori folosind Python funcții încorporate . Acest lucru este util atunci când doriți să controlați modul în care datele sunt interpretate sau manipulate în codul dvs. Unele funcții comune de turnare de tip includ:
- int() convertește o valoare într-un număr întreg
- float() convertește o valoare într-un număr în virgulă mobilă
- str() convertește o valoare într-un șir
- bool() convertește o valoare într-un boolean (adevărat/fals)
Exemplu:
string java înlocuiPython
s = '100' # String a = int(s) print(a) print(type(a))
Ieșire
100
Explicație: a = int(s) îl convertim în mod explicit într-un număr întreg. Această modificare manuală a tipului se numește conversie explicită a tipului și a devine 100 de tip
Exemple de funcții comune de conversie de tip
Exemplul 1: Conversia unui șir binar
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Ieșire
18 10010.0
Explicaţie:
- int(e 2) interpretează șirul binar „10010” ca număr întreg 18.
- plutitor(e) convertește șirul într-un număr în virgulă mobilă.
Exemplul 2: Conversie ASCII hexazecimală și octală
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Ieșire
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Explicaţie:
- cuvânt(e) returnează codul ASCII al caracterului „4”.
- hex() şi oct() convertiți numărul întreg 56 în reprezentările sale hexazecimale și, respectiv, octale.
Exemplul 3 : String to Tuple Set and List
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Ieșire
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Explicaţie:
- tuplu(i) păstrează toate caracterele, inclusiv duplicatele, în ordine.
- seturi elimină duplicatele și returnează o colecție neordonată.
- liste(e) returnează o listă de caractere din șir.
Exemplul 4: Alte conversii – Dicționar șiruri complexe
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))
Ieșire
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Explicaţie:
- complex (1 2) creează un număr complex cu partea reală 1 și partea imaginară 2.
- str(a) convertește întregul 1 în șirul „1”.
- dict(up) creează un dicționar dintr-o secvență de tuplu-cheie-valoare.