Typekonvertering betyr å endre datatypen til en verdi. For eksempel konvertere et heltall (5) til en flyte (5.0) eller en streng ('10') til et heltall (10). I Python er det to typer typekonvertering:
- Implisitt konvertering: Python endrer datatypen av seg selv mens du kjører koden for å unngå feil eller tap av data.
- Eksplisitt konvertering: Du endrer datatypen med vilje ved å bruke funksjoner som int() float() eller str().
Implisitt typekonvertering
I implisitt konvertering Python konverterer automatisk én datatype til en annen under uttrykksevaluering. Dette skjer vanligvis når en mindre datatype som int kombineres med en større som float i en operasjon. Eksempel:
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))
Produksjon
x:y: z = 20.6 z :
Forklaring: x er et heltall og og er en flyte. I z = x + y Python konverterer automatisk x å flyte for å unngå tap av data Med en flyte 0,6.
Eksplisitt typekonvertering
Eksplisitt konvertering (eller type casting) er når du manuelt konverterer datatypen til en verdi ved å bruke Python innebygde funksjoner . Dette er nyttig når du vil kontrollere hvordan dataene tolkes eller manipuleres i koden din. Noen vanlige type støpefunksjoner inkluderer:
- int() konverterer en verdi til et heltall
- flyte() konverterer en verdi til et flyttall
- str() konverterer en verdi til en streng
- bool() konverterer en verdi til en boolsk (sant/usant)
Eksempel:
java standard parameterePython
s = '100' # String a = int(s) print(a) print(type(a))
Produksjon
100
Forklaring: a = int(s) vi konverterer det eksplisitt til et heltall. Denne manuelle typeendringen kalles eksplisitt typekonvertering og a blir 100 av typen
Eksempler på vanlige typekonverteringsfunksjoner
Eksempel 1: Konvertering av en binær streng
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Produksjon
18 10010.0
Forklaring:
- int(s 2) tolker den binære strengen '10010' som heltall 18.
- flyte(r) konverterer strengen til et flyttall.
Eksempel 2: ASCII heksadesimal og oktal konvertering
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Produksjon
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Forklaring:
- ord returnerer ASCII-koden til tegnet '4'.
- hex() og okt() konvertere hele tallet 56 til dets henholdsvis heksadesimale og oktale representasjoner.
Eksempel 3 : String for å tuple sett og liste
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Produksjon
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Forklaring:
- tuppel(er) holder alle tegn inkludert duplikater i orden.
- sett(er) fjerner duplikater og returnerer en uordnet samling.
- liste(r) returnerer en liste over tegn fra strengen.
Eksempel 4: Andre konverteringer – kompleks strengordbok
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))
Produksjon
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Forklaring:
ny linje i python
- kompleks(1 2) lager et komplekst tall med reell del 1 og imaginær del 2.
- str(a) konverterer heltall 1 til strengen '1'.
- dikt (tup) oppretter en ordbok fra en sekvens av nøkkelverdi-tupler.