La conversió de tipus significa canviar el tipus de dades d'un valor. Per exemple convertir un nombre enter (5) en un nombre flotant (5.0) o una cadena ('10') en un nombre enter (10). A Python hi ha dos tipus de conversió de tipus:
- Conversió implícita: Python canvia el tipus de dades per si mateix mentre executa el codi per evitar errors o pèrdua de dades.
- Conversió explícita: Canvieu el tipus de dades a propòsit mitjançant funcions com int() float() o str().
Conversió de tipus implícita
En conversió implícita Python converteix automàticament un tipus de dades en un altre durant l'avaluació de l'expressió. Això sol passar quan un tipus de dades més petit com int es combina amb un de més gran com float en una operació. Exemple:
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))
Sortida
x:y: z = 20.6 z :
Explicació: x és un nombre enter i i és un flotador. En z = x + y Python es converteix automàticament x flotar per evitar la pèrdua de dades Amb un flotador 0,6.
Conversió de tipus explícita
Conversió explícita (o emissió de tipus) és quan convertiu manualment el tipus de dades d'un valor mitjançant Python funcions integrades . Això és útil quan voleu controlar com s'interpreten o manipulen les dades al vostre codi. Algunes funcions de càsting de tipus habituals inclouen:
- int() converteix un valor en un nombre enter
- flota () converteix un valor en un nombre de coma flotant
- str() converteix un valor en una cadena
- bool() converteix un valor en un valor booleà (vertader/fals)
Exemple:
Pythons = '100' # String a = int(s) print(a) print(type(a))
Sortida
100
Explicació: a = int(s) el convertim explícitament en un nombre enter. Aquest canvi de tipus manual s'anomena conversió de tipus explícita i a es converteix en 100 de tipus
Exemples de funcions de conversió de tipus comuns
Exemple 1: Conversió d'una cadena binària
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Sortida
18 10010.0
Explicació:
- int(s 2) interpreta la cadena binària '10010' com l'enter 18.
- flotador(s) converteix la cadena en un nombre de coma flotant.
Exemple 2: Conversió ASCII hexadecimal i octal
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Sortida
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Explicació:
- paraula(s) retorna el codi ASCII del caràcter '4'.
- hexadecimal () i oct() converteix l'enter 56 a les seves representacions hexadecimals i octals respectivament.
Exemple 3 : String to Tuple Set and List
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Sortida
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Explicació:
- tuple(s) manté tots els caràcters inclosos els duplicats en ordre.
- conjunt(s) elimina els duplicats i retorna una col·lecció no ordenada.
- llista(s) retorna una llista de caràcters de la cadena.
Exemple 4: Altres conversions – Diccionari de cadenes complexes
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))
Sortida
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Explicació:
- complex (1 2) crea un nombre complex amb la part real 1 i la part imaginària 2.
- str (a) converteix l'enter 1 a la cadena '1'.
- dictaminar crea un diccionari a partir d'una seqüència de tuples clau-valor.