Typeconversie betekent het wijzigen van het gegevenstype van een waarde. Bijvoorbeeld het converteren van een geheel getal (5) naar een float (5.0) of een string ('10') naar een geheel getal (10). In Python zijn er twee soorten typeconversie:
- Impliciete conversie: Python verandert het gegevenstype zelf tijdens het uitvoeren van de code om fouten of gegevensverlies te voorkomen.
- Expliciete conversie: Je wijzigt het gegevenstype expres met behulp van functies als int() float() of str().
Impliciete typeconversie
In impliciete conversie Python converteert het ene gegevenstype automatisch naar het andere tijdens de evaluatie van expressies. Dit gebeurt meestal wanneer een kleiner gegevenstype zoals int wordt gecombineerd met een groter gegevenstype zoals float in een bewerking. Voorbeeld:
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))
Uitvoer
x:y: z = 20.6 z :
Uitleg: x is een geheel getal en En is een vlotter. In z = x + y Python converteert automatisch X zweven om gegevensverlies te voorkomen Met een vlotter 0,6.
Expliciete typeconversie
Expliciete conversie (of type casting) is wanneer u het gegevenstype van een waarde handmatig converteert met behulp van Python ingebouwde functies . Dit is handig als u wilt bepalen hoe de gegevens in uw code worden geïnterpreteerd of gemanipuleerd. Enkele veel voorkomende functies voor het casten van typen zijn:
- int() converteert een waarde naar een geheel getal
- vlot() converteert een waarde naar een getal met drijvende komma
- str() converteert een waarde naar een string
- bool() converteert een waarde naar een Booleaanse waarde (waar/onwaar)
Voorbeeld:
Pythons = '100' # String a = int(s) print(a) print(type(a))
Uitvoer
100
Uitleg: a = int(s) we converteren het expliciet naar een geheel getal. Deze handmatige typewijziging wordt expliciete typeconversie genoemd en wordt 100 van type
Voorbeelden van algemene typeconversiefuncties
Voorbeeld 1: Een binaire string converteren
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Uitvoer
18 10010.0
Uitleg:
- int(s 2) interpreteert de binaire tekenreeks '10010' als het gehele getal 18.
- vlotter(s) converteert de tekenreeks naar een getal met drijvende komma.
Voorbeeld 2: ASCII hexadecimale en octale conversie
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Uitvoer
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Uitleg:
- woord(en) retourneert de ASCII-code van het teken '4'.
- hex() En okt() converteer het gehele getal 56 respectievelijk naar de hexadecimale en octale representaties ervan.
Voorbeeld 3 : String naar Tuple Set en Lijst
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Uitvoer
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Uitleg:
- tupel(s) houdt alle tekens, inclusief duplicaten, op volgorde.
- set(jes) verwijdert duplicaten en retourneert een ongeordende verzameling.
- lijst(en) retourneert een lijst met tekens uit de tekenreeks.
Voorbeeld 4: Andere conversies – Complexe tekenreekswoordenboek
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))
Uitvoer
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Uitleg:
- complex(1 2) creëert een complex getal met reëel deel 1 en imaginair deel 2.
- str(a) converteert het gehele getal 1 naar de tekenreeks '1'.
- dict(tup) creëert een woordenboek op basis van een reeks sleutelwaarde-tupels.