Inleiding
Python is een programmeertaal die vaak wordt gebruikt voor systeemintegratiedoeleinden. Deze taal maakt gebruik van iets dat ‘datatypen’. Deze datatypen helpen bij het classificeren of definiëren van een bepaald type gegevens. Dit betekent dat een specifiek datatype betrekking heeft op specifieke waarden en bewerkingen die je erop kunt toepassen. Elk datatype wordt op een andere manier geprogrammeerd en bewerkt. Dit komt omdat elk datatype een andere aard heeft. Je kunt bijvoorbeeld te maken hebben met strings of integers.
Het doel van deze gids is om je vertrouwd te maken met de verschillende datatypen in Python. Niet alleen dat, maar we zullen ook een diepgaande discussie hebben over hoe je de datatypen in elkaar kunt converteren. Aan het einde van deze handleiding zou je datatypen zoals getallen, strings, tuples en lijsten moeten kennen, en hoe je ze kunt converteren.
Conversie van getallen
Als we het hebben over getallen in Python, bedoelen we mogelijk een van de twee opties. We hebben te maken met ofwel integers of floats. Soms kan het nodig zijn om de een naar de ander te converteren. Het is mogelijk om eenvoudig integers naar floating-point getallen te converteren en floats naar integers.
-
Conversie: Integers naar Floats
Eerst beginnen we met het verkennen van hoe je integers naar floats kunt converteren. De manier om dit te doen is met een commando genaamd float(). Deze functie converteert elke gegeven integer naar een float met decimalen. Het enige wat je hoeft te doen is de integer tussen de haakjes te plaatsen. Stel bijvoorbeeld dat je de integer 57 wilt converteren naar een float-datatype. Hier is hoe je dat aanpakt:
|
1 |
float(57) |
Als resultaat van het uitvoeren van dit commando, zal de integer 57 veranderen in de float 57.0.
Een andere manier om dit te doen is door een variabele te gebruiken. Je kunt je integer aanduiden via een variabele en vervolgens de float printen met het bovenstaande commando. Laten we zeggen dat je de variabele f gelijk stelt aan 57. Hier is hoe de conversie in dit geval zou verlopen:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Output 57.0 |
-
Conversie: Floats naar Integers
Het is ook mogelijk om floats naar integers te converteren. Vergelijkbaar met het vorige commando, kan deze conversie worden gedaan met behulp van de int() functie. Net als de vorige keer hoef je alleen maar het floating-point getal toe te voegen tussen de haakjes die volgen op de functie.
In ons voorbeeld converteren we de float 390 naar een integer. Om de conversie uit te voeren, voeren we het volgende commando uit:
|
1 |
int(390.8) |
Als resultaat van het uitvoeren van deze functie, zal 390 veranderen in de float-vorm: 390.8.
Op dezelfde manier kun je de conversie uitvoeren met behulp van variabelen. Niet alleen dat, maar je kunt ook meerdere conversies tegelijkertijd uitvoeren. Laten we aannemen dat b gelijk is aan 125.0 en c gelijk is aan 390.8. Hier is hoe je deze floating-point waarden zou printen:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Output 125 390 |
Zoals je kunt zien, zijn de integers succesvol veranderd in floats.
Een belangrijk ding om te onthouden tijdens de conversie van float naar integer is dat de functie de waarden niet afrondt. Dit betekent dat het decimale deel van de float simpelweg wordt verwijderd. De functie zal een waarde zoals 390.8 niet afronden naar 390 - het verwijdert simpelweg de 0.8 eenheden om je een integer te geven.
-
Conversie: Door deling
Het is ook mogelijk om integers naar floats te converteren door middel van deling. Het delen van integers door elkaar kan een quotiënt opleveren dat een floating-point getal is. Bijvoorbeeld, bij het delen van 5 door 2, is het antwoord dat je ontvangt 2.5, wat een float is. Neem een kijkje:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Output 2.5 |
Dit is een speciale functie van Python 3. In Python 2 zou het uitvoeren van een dergelijke deling je alleen een integer als antwoord geven, zoals dit: 5 / 2 = 2.
Conversie met strings
Voordat we gaan praten over hoe je conversies uitvoert met strings, moet je weten wat strings eigenlijk zijn. Als je dat nog niet weet: strings zijn reeksen van tekens. Dit kan een reeks letters, cijfers, symbolen of andere tekens zijn. Je kent strings misschien in samenhang met computergegevens. Dit komt omdat computers dit datatype vaak gebruiken om hun bewerkingen uit te voeren.
Als je te maken hebt met door gebruikers gegenereerde gegevens, zul je deze conversies vaak moeten uitvoeren. Daarom is het handig om te weten hoe je getallen in strings verandert en strings in getallen converteert.
-
Conversie: Getallen naar Strings
Je kunt de str()-functie gebruiken om getallen naar strings te converteren. Net als voorheen plaats je de waarde die je wilt converteren tussen de haakjes. Deze waarde kan een getal of een variabele zijn. Laten we om te beginnen kijken hoe je een geheel getal, zoals 12, converteert naar een stringwaarde:
|
1 |
str(12) |
|
1 2 3 |
Output '12' |
Zoals je kunt zien, toont de output een stringwaarde. De stringwaarde wordt aangeduid door de aanhalingstekens.
Aan de andere kant kun je ook variabelen in de functie plaatsen in plaats van gehele getallen. Dit is waar de functie echt nuttig wordt. Stel bijvoorbeeld dat je wilt bijhouden en rapporteren hoeveel regels code een gebruiker in een bepaald tijdsbestek schrijft. Om deze informatie aan de gebruiker te tonen, moet je zowel de string als de integer-waarden printen, zoals dit:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Gefeliciteerd, " + user + "! Je hebt zojuist " + lines + " regels code geschreven.") |
Helaas, als je de bovenstaande code probeert uit te voeren, krijg je een foutmelding als deze:

Dit betekent dat je de variabele lines moet converteren naar een stringwaarde om de code te kunnen uitvoeren.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Gefeliciteerd, " + user + "! Je hebt zojuist " + str(lines) + " regels code geschreven.") |
Nu je de conversiefunctie hebt geplaatst, kun je het commando met succes uitvoeren. Je ziet dan zoiets als het volgende als output:
|
1 2 3 |
Output Gefeliciteerd, Sammy! Je hebt zojuist geschreven 50 regels van code. |
Op dezelfde manier moet je hetzelfde doen als je een float in plaats van een integer aan een string wilt toevoegen. Net als voorheen kun je de waarde rechtstreeks toevoegen of een variabele gebruiken. Bijvoorbeeld:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Output 421.034 5524.53 |
Als je er zeker van wilt zijn dat de waarde correct is, kun je deze als volgt samenvoegen met een string:
|
1 2 |
f = 5524.53 print("Sammy heeft " + str(f) + " punten.") |
|
1 2 3 |
Output Sammy heeft 5524.53 punten. |
Omdat je geen foutmelding hebt gekregen, betekent dit dat de conversie is geslaagd.
-
Conversie: Strings naar Getallen
Op dezelfde manier kun je strings ook naar getallen converteren. Als je string geen decimalen bevat, kun je deze het beste converteren naar een integer. Je kunt deze naar integers converteren met de int()-functie.
We blijven ons vorige voorbeeld van de integer-conversie gebruiken. Stel dus dat een gebruiker genaamd Sammy dagelijks zijn voortgang bij het schrijven van code wil bijhouden. Als programmeur wil je deze informatie op een creatieve manier aan de gebruiker presenteren. Maar omdat deze waarden als strings zijn opgeslagen, kun je er geen basisoperanden op toepassen zoals – (aftrekken). Dit kun je in het volgende zien:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

Zoals je kunt zien, werkt de operand niet op de stringwaarden. In plaats daarvan krijg je een foutmelding. Om met de waarden te kunnen werken, moet je de strings naar integers converteren met de int()-functie:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Output 58 |
Hier is lines_more een variabele. Deze variabele is een integer en is gelijk aan de resulterende waarde, die in ons voorbeeld 58 is.
Aan de andere kant kun je de strings converteren naar floats door gebruik te maken van de float() functie als er decimalen zijn. In dit voorbeeld gebruiken we de punten die de gebruiker Sammy verdient, in tegenstelling tot het aantal regels dat ze schrijven. De punten worden gescoord in decimalen:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Output 5524.5345.30 |
Hoewel de output geen foutmelding geeft, is deze nog steeds niet correct. De operand + of optelling werkte in dit geval wel. Maar in plaats van de twee getallen op te tellen, heeft het simpelweg de twee stringwaarden naast elkaar geplaatst.
Daarom moet je deze strings eerst converteren naar float-waarden met behulp van de float() functie:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Output 5569.83 |
Zoals je hierboven kunt zien, zijn de twee waarden bij elkaar opgeteld. Onthoud: als je probeert een stringwaarde in decimalen te converteren naar een integer, krijg je een foutmelding als deze:
|
1 2 |
f = "54.23" print(int(f)) |

Daarom moet je het string-datatype eerst converteren naar getallen. Daarna kun je eenvoudig andere bewerkingen uitvoeren en de numerieke waarde converteren.
Conversie naar tuples en lijsten
Lijsten en tuples zijn een paar andere datatypen die je in Python 3 kunt gebruiken. Beide bestaan uit een reeks elementen. Het verschil tussen de twee is dat een lijst mutabel is, terwijl een tuple immutabel is. Bovendien worden de elementen van een lijst tussen vierkante haken geplaatst [ ], terwijl die in een tuple tussen haakjes worden geplaatst ( ).
-
Conversie: Lijsten naar tuples
Laten we allereerst eens kijken hoe je een lijst kunt converteren naar een tuple. Mogelijk moet je deze conversie uitvoeren als je een onwijzigbaar datatype nodig hebt. Hiervoor moet je de functie tuple():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Output ('pull request', 'open source', 'repository', 'branch') |
Zoals je kunt zien, staan de items van de lijst nu in een tuple. Dit wordt aangegeven door de haakjes die de elementen omsluiten.
Je kunt ook de tuple() functie gebruiken met een variabele die gelijk is aan de lijst met items:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Output ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
Handig genoeg kun je elk datatype converteren naar een tuple. Hier is bijvoorbeeld hoe je een string naar een tuple converteert:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Output ('S', 'a', 'm', 'm', 'y') |
Strings kunnen worden geconverteerd naar tuples omdat ze iterabel zijn. Begrijpelijkerwijs kunnen niet-iterabele datatypen niet worden geconverteerd naar tuples. Stel dat je een aantal integers of een float wilt converteren naar een tuple. Als je de tuple() functie zou uitvoeren, krijg je een foutmelding als deze:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Output TypeError: 'int' object is not iterable |
De typefout geeft aan dat het gehele getal niet herhaalbaar is. Daarom kan de conversie niet plaatsvinden. Een ingewikkelde manier zou zijn om eerst het gehele getal naar een string te converteren en vervolgens naar een tuple. Dit kunt u doen met de volgende functie: tuple(str(5000)). Maar we raden aan om dergelijke complicaties te vermijden.
-
Conversie: Tuples naar Lijsten
In tegenstelling hiermee moet u mogelijk een tuple naar een lijst converteren als u veranderlijke gegevens nodig heeft. Hiervoor gebruikt u de list() functie als volgt:
|
1 |
print(list(('blue coral', 'staghorn coral', 'pillar coral'))) |
|
1 2 3 |
Uitvoer ['blue coral', 'staghorn coral', 'pillar coral'] |
De aanwezigheid van de vierkante haken geeft aan dat de resulterende uitvoer een tuple is. Bij het schrijven van de code om een tuple naar een lijst te converteren met behulp van list(), moet u ervoor zorgen dat u haakjes opneemt voor de list() methode en de print() methode. Dit maakt de code echter een beetje onleesbaar. Om het minder ingewikkeld te maken, kunt u een paar haakjes verwijderen door in plaats daarvan een variabele te gebruiken:
|
1 2 3 |
coral = ('blue coral', 'staghorn coral', 'pillar coral') list(coral) |
Net als bij tuples kunt u strings ook rechtstreeks naar lijsten converteren:
|
1 |
print(list('shark')) |
|
1 2 3 |
Uitvoer ['s', 'h', 'a', 'r', 'k'] |
Conclusie
Deze handleiding helpt u als u op zoek bent naar manieren om gegevenstypen te converteren in Python 3. We hebben de verschillende gegevenstypen in detail besproken en hoe ze in elkaar kunnen worden geconverteerd met behulp van ingebouwde Python-functies. Het kennen van deze conversies zal uw programmeerervaring veel eenvoudiger en grondiger maken.
Om verder te ontdekken wat u met Python kunt doen, kunt u onze andere handleidingen volgen:
- Bekijk hoe u Python 3 installeert en een lokale programmeeromgeving instelt op Ubuntu 16.04.
- Volg mee om te leren hoe u Twitter-gegevens kunt extraheren met behulp van Python.
- Leer hoe u NASDAQ-gegevens per minuut kunt ophalen met behulp van Python.
- U kunt ook kijken naar hoe u het CloudSigma Python-script kunt gebruiken om de conversie van een schijfsnapshot naar een volledige schijf op ons platform te automatiseren.
Veel programmeerplezier!
Reacties
Nog geen reacties. Wees de eerste.