In sommige gevallen is het handig om meerdere waarden en hun bijbehorende datatypes te combineren. Dit noemen we samengestelde datatypes. Samengestelde datatypes stellen ons in staat om gerelateerde gegevens efficiënt te organiseren en op te slaan in onze programma’s. Dit is bijzonder nuttig wanneer we gegevens hebben die op de een of andere manier met elkaar verbonden zijn.
👀 Voorbeeld - A4-papier
Stel je voor dat je de afmetingen van een A4-blad wilt bijhouden in je code. Het A4-papierformaat heeft standaard een grootte van 210 mm breed en 297 mm hoog. Je kunt deze afmetingen op verschillende manieren opslaan in je code.
Optie 1: Twee aparte variabelen
Een eenvoudige benadering is om de breedte en hoogte op te slaan in twee afzonderlijke variabelen. Dit maakt de gegevens toegankelijk en begrijpelijk, maar het kan onhandig worden als je met veel gerelateerde gegevens werkt, omdat je elk stuk gegevens afzonderlijk moet beheren.
# Sla de gegevens op in 2 aparte variabelen breedte = 210 hoogte = 297 # Toon de afmetingen print('De afmetingen van een A4 blad zijn', breedte, 'en', hoogte)
In dit voorbeeld hebben we twee variabelen:
breedte
enhoogte
. We gebruiken deprint()
functie om deze afmetingen weer te geven. Deze aanpak is eenvoudig en werkt goed voor kleine aantallen gerelateerde waarden.Optie 2: Een samengesteld datatype (tupel)
Een alternatieve en vaak efficiëntere manier om deze informatie op te slaan, is door gebruik te maken van een samengesteld datatype, in dit geval een tupel. Een tupel is een collectie van een specifiek aantal waarden in een bepaalde volgorde die samenhoren en niet kunnen veranderen.
# Sla de gegevens op in één variabele met behulp van een tupel a4 = (210, 297) # Toon de afmetingen print('De afmetingen van een A4 blad zijn', a4)
Hier slaan we de breedte en hoogte op in één enkele variabele
a4
, die een tupel is. Het voordeel van het gebruik van een tupel is dat je gerelateerde gegevens gemakkelijk kunt groeperen, wat zorgt voor een duidelijke en georganiseerde structuur in je code. Bovendien maakt het gebruik van een enkel datatype (de tupel) het gemakkelijker om de gegevens door te geven aan functies of om ze in een lijst op te slaan.
❗ Begrip - Tupel
Een tupel is een datatype in Python dat een vaste reeks waarden bevat. De waarden in een tupel kunnen van verschillende datatypes zijn (zoals getallen, strings, enzovoort), maar het belangrijkste is dat een tupel niet kan worden veranderd nadat het is gemaakt. Dit betekent dat je geen elementen aan een tupel kunt toevoegen of verwijderen. De gegevens blijven consistent en veilig, wat belangrijk is in veel situaties. Dit immutabiliteitskenmerk van tupels maakt ze ideaal voor het opslaan van gegevens die niet mogen worden gewijzigd, zoals coördinaten of vaste instellingen.
💡 Hint
Houd er rekening mee dat de volgorde van de elementen in een tupel van belang is. Bij A4-papier weten we dat de breedte (210 mm) altijd vóór de hoogte (297 mm) komt. Dit helpt ons om verwarring te voorkomen en de gegevens correct te interpreteren. Als je de volgorde omdraait (bijvoorbeeld
a4 = (297, 210)
), betekent dit dat je nu een liggend A4-blad hebt in plaats van een staand A4-blad.
💻 Programmeeroefening - MrBeast
Nu is het tijd om zelf aan de slag te gaan! Schrijf in de editor hieronder een functie
mrbeast()
die een tupel retourneert met de voor- en achternaam van MrBeast.Wanneer je deze functie aanroept, krijg je het tupel als resultaat, wat een efficiënte manier is om beide gegevens samen te houden. Dit laat ook zien hoe je verschillende gerelateerde waarden kunt groeperen en gemakkelijk kunt teruggeven vanuit een functie.
Tip
Wist je dat MrBeast in het echt Jimmy Donaldson heet? Dit kan je gebruiken voor je functie.
Door het gebruik van samengestelde datatypes zoals tupels kunnen we onze code beter organiseren en de leesbaarheid verbeteren. Probeer het zelf uit en ontdek hoe deze concepten je kunnen helpen bij het programmeren! Het gebruik van samengestelde datatypes vereenvoudigt niet alleen je code, maar maakt het ook gemakkelijker om gegevens te begrijpen en te beheren.