Terug naar blog

Python 3: Een gids voor het converteren van datatypen

Python 3: Een gids voor het converteren van datatypen

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:

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:

  • 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:

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:

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:

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:

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:

Helaas, als je de bovenstaande code probeert uit te voeren, krijg je een foutmelding als deze:

concatenation error

Dit betekent dat je de variabele lines moet converteren naar een stringwaarde om de code te kunnen uitvoeren.

Nu je de conversiefunctie hebt geplaatst, kun je het commando met succes uitvoeren. Je ziet dan zoiets als het volgende als output:

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:

Als je er zeker van wilt zijn dat de waarde correct is, kun je deze als volgt samenvoegen met een string:

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:

unsupported operand

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:

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:

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:

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:

cast error

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():

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:

Handig genoeg kun je elk datatype converteren naar een tuple. Hier is bijvoorbeeld hoe je een string naar een tuple converteert:

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:

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:

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:

Net als bij tuples kunt u strings ook rechtstreeks naar lijsten converteren:

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:

Veel programmeerplezier!

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.