python-data-types-uitleg-met-voorbeelden-scaled

Op deze pagina vind je een volledig overzicht van ingebouwde Python data types. De pagina kent de volgende opbouw:

Wat is een data type in Python?

Iedere programmeertaal kent verschillende data types. Data types zijn het soort waarde van een element en dat bepaalt welke handelingen de programmeertaal kan uitvoeren met dat element. Zo kun je andere operaties uitvoeren op tekst dan op cijfers. Data types zijn voor programmeertalen dus een manier om orde te scheppen door verschillende soorten waarden te categoriseren.

Op deze pagina beperken we ons tot de meestgebruikte ingebouwde data types in Python. Deze zul je het meeste tegenkomen in de praktijk.

Welke data types zijn er binnen Python?

Data types gerelateerd aan cijfers

1. int: een 'integer' is een heel getal zoals bijvoorbeeld 1, 2, of 12319. Als je een geheel getal toekent aan een variabele in Python dan krijgt deze vanzelf het data type 'int' mee. integers kunnen ook negatief zijn. Met type() kun je het datatype van een object inzien.

In [13]:

vier = 4
minvier = -4
print(type(vier))
print(type(minvier))

<class 'int'>
<class 'int'>

NB: om mee te kunnen doen met deze voorbeelden moet je eerst Python installeren. Verder raden we Jupyter Notebook aan om Python Scripts op te stellen en te runnen.

Het is ook mogelijk om met int() zelf aan te geven als een getal een integer is. Let wel op dat kommagetallen afgerond zullen worden.

In [2]:

meer_dan_vier = 4.1
print(int(meer_dan_vier))
print(type(int(meer_dan_vier)))

4
<class 'int'>

2. float: dit zijn de 'floating point numbers', oftewel de kommagetallen. Dit data type is een cijfer en heeft altijd een komma. Ook als je een variabele een heel getal mee geeft zonder komma en je maakt er een 'float' van dan zal er een komma toegevoegd worden. Ook floats kunnen negatief zijn in Python.

In [3]:

vier = 4.0
print(type(vier))

vijf = float(5)
print(vijf)
print(type(vijf))

<class 'float'>
5.0
<class 'float'>

Door het toevoegen van een 'e' kun je iets maal 10 tot de macht 'n' doen. Hier is 'n' dan het getal dat achter de 'e' komt.

In [4]:

groot_getal = 8e3
print(groot_getal)
print(type(groot_getal))

8000.0
<class 'float'>

We krijgen hier dus 8 maal 10 tot de macht 3 (=1000). Je kunt zien dat het data type een float is.

Data types gerelateerd aan reeksen

3. list: een list is een lijst waarin verschillende waarden opgeslagen zijn. In een lijst kunnen verschillende data types voorkomen. Het overkoepelende datatype zal een list zijn.

In [5]:

lijst = [1, "r", 6.5, [1, 2]]
print(type(lijst))

print(lijst[0])
print(type(lijst[0]))

print(type(lijst[3]))

<class 'list'>
1
<class 'int'>
<class 'list'>

Allereerst laten we hier zien dat een lijst verschillende python data types kan bevatten. Het overkoepelende geheel heeft het data type 'list', terwijl de verschillende elementen opeenvolgend 'int', 'string', 'float', en 'list' zijn. Een list kan dus ook andere lists bevatten.

Interessant: alles over de mogelijkheden met lijsten in Python

Met vertrouwen waardevolle inzichten halen uit data? Schrijf je in voor een van onze trainingen.



4. tuple: een tuple is een niet aanpasbare verzameling. De elementen in de tuple zijn daardoor niet aan te passen en hebben een vaste volgorde. Je maakt een tuple door elementen tussen ronde haken te zetten.

In [6]:

voorbeeld_tuple = (9,5)
voorbeeld_tuple2 = ("missie","geslaagd")
print(type(voorbeeld_tuple))
print(type(voorbeeld_tuple2))

<class 'tuple'>
<class 'tuple'>

Het is mogelijk om elementen uit een tuple te benaderen met een indexnummer.

In [7]:

print(voorbeeld_tuple[1])

5

5. range: met range() kun je een reeks van integer waarden genereren. In onderstaand voorbeeld genereren we een reeks van 1 tot 10.000 en je kunt zien dat het Python data type 'range' is.

In [8]:

een_tot_tienduizend = range(1,10000)
print(type(een_tot_tienduizend))

<class 'range'>

Data types gerelateerd aan tekst

6. str: een 'string' is een stuk tekst. De tekst staat tussen 'enkele' of "dubbele" aanhalingstekens. Als je een stuk tekst hebt waarin zelf aanhalingstekens gebruikt worden dan moet je de totale string tussen het andere type aanhalingstekens zetten om errors te voorkomen. Zie onderstaand voorbeeld.

In [9]:

stukje_tekst = "dit is tekst"
print(stukje_tekst)
print(type(stukje_tekst))

tekst_met_aanhalingstekens = "dit is 'bijzonder'"
print(tekst_met_aanhalingstekens)

dit is tekst
<class 'str'>
dit is 'bijzonder'

Het is ook mogelijk om een lege string te hebben.

In [10]:

lege_string = ""
print(type(lege_string))

<class 'str'>

het dictionary data type

7. dict: het dictionary data type geeft je de mogelijkheid waarden op te zoeken aan de hand van sleutels. Een dictionary heeft geen volgorde en kan wel gewijzigd worden. Je stelt een dictionary op tussen accolades, waarbinnen je key-value pairs ingeeft.

In [11]:

afkortingen = {
"A" : "AAP",
"B" : "BEER",
"C" : "CAVIA"
}

print(afkortingen["B"])
print(type(afkortingen))

BEER
<class 'dict'>

Interessant voor jou: meer over dictionaries

Data type boolean

8. bool: een bool kan alleen de waarde True of False bevatten.

In [12]:

acht_groter_dan_zeven = 8 > 7
print(acht_groter_dan_zeven)
print(type(acht_groter_dan_zeven))

True
<class 'bool'>

Hoe kom ik achter het data type van een variabele?

Je hebt het in bovenstaande voorbeelden al vaak kunnen zien, maar je kunt met type() het type van een waarde of variabele opvragen. Veel data scientists zullen met Pandas werken. In Pandas kun je voor een Series het data type achterhalen met Series.dtype(). Voor een DataFrame kun je de data types achterhalen met DataFrame.dtypes().

Wil je nog veel meer leren over Python en de mogelijkheden voor data analyse? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, of voor onze data science opleiding en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.

Download één van onze opleidingsbrochures voor meer informatie

 

by: