ID.nl logo
Zo kun je programmeren in Python - Deel 2
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 2

Na onze eerste kennismaking met Python is het tijd om wat complexere datastructuren te bekijken: lijsten en dictionary’s. We duiken ook in de structuur van strings, zodat je afzonderlijke letters kunt manipuleren. Start je Python-interpreter maar alvast op!

In de vorige les leerde je met drie datatypes in Python werken: int, float en str. Vooral int en float zijn vrij eenvoudige datatypes. Maar in veel programma’s heb je types met meer structuur nodig, we noemen dit ook wel datastructuren. In dit deel leer je met twee belangrijke datastructuren van Python werken.

Lijsten

In veel programma’s werk je niet met één specifiek gegeven, maar met een hele reeks. Een lijst (in Python list) is daarvoor ideaal. Zo maak je bijvoorbeeld een lijst met namen aan:

>>> namen = ['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']>>> len(namen)

6

>>> lege_lijst = []

>>> len(lege_lijst)

0

De functie len, die we uit de vorige les kennen om de lengte van een string terug te geven, werkt ook op een lijst: dan krijg je het aantal elementen in die lijst.

Overigens kan een lijst elementen van verschillende types bevatten, zoals een float, twee strings en een int. Maar vaak heeft een lijst alleen elementen van hetzelfde type.

Functies, parameters en argumenten

Python deelt heel wat functionaliteit op in functies: stukjes code die een specifieke taak uitvoeren, zoals len om de lengte van een lijst of string op te vragen. Een functie kan een parameter hebben: een variabele waarmee de functie werkt en die als waarde het object krijgt dat je aan die functie doorgeeft. Dat object noemen we het argument van de functie. Een functie kan ook meerdere parameters (en dus argumenten) hebben. In deel 6 leer je je eigen functies definiëren en wordt dit allemaal nog veel duidelijker.

Elementen in een lijst

Python kent ook heel wat mogelijkheden om met de elementen in een lijst te werken. Zo vraag je eenvoudig een element uit de lijst op een specifieke positie (ook ‘index’ genoemd) op:

>>> namen[2]'pieter'

Merk op dat de positie in een lijst vanaf 0 begint te tellen: het eerste element is namen[0], het tweede namen[1], het derde namen[2] enzovoort. Je zou dan denken dat je het laatste element moet opvragen met:

>>> namen[len(namen)-1]'rob'

Dat werkt inderdaad, maar Python laat ook een negatieve positie toe, waarmee je vanachter in de lijst begint te tellen. Het laatste element heeft dan positie -1:

>>> namen[-1]'rob'>>> namen[-2]'joris'

Als je goed hebt opgelet, zie je dat de string ‘jan’ twee keer in bovenstaande lijst zit. Dat aantal keren kun je opvragen met de functie count:

>>> namen.count('jan')2>>> namen.count('pieter')1>>> namen.count('koen')0

Je kunt ook de positie van een element in een lijst opvragen:

>>> namen.index('jan')1>>> namen.index('pieter')2>>> namen.index('koen')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: 'koen' is not in list

Zoals je ziet krijg je een foutmelding (ValueError) als het gevraagde element zich niet in de lijst bevindt. Voor een element dat zich meerdere keren in de lijst bevindt, geeft de functie index alleen de eerste positie terug. Maar je kunt ook vragen om vanaf een specifieke positie te zoeken:

>>> namen.index('jan', 2)3

Een lijst veranderen

Als je een lijst hebt aangemaakt, kun je die nog altijd veranderen. In het eenvoudigste geval verander je bijvoorbeeld één element:

>>> namen['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']>>> namen[1] = 'koen'>>> namen['kees', 'koen', 'pieter', 'jan', 'joris', 'rob']

Je kunt een lijst ook omdraaien of sorteren:

>>> namen.reverse()>>> namen['rob', 'joris', 'jan', 'pieter', 'koen', 'kees']>>> namen.sort()>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']

Verder kun je ook een element aan het einde van een lijst toevoegen, of op een specifieke positie tussen de andere elementen voegen:

>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']>>> namen.append('aniek')>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']>>> namen.insert(0, 'lies')>>> namen['lies', 'jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']>>> namen.insert(4, 'mireille')>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']

Je kunt ook bestaande elementen verwijderen. Zo verwijder je met de functie remove(x) het eerste element waarvan de waarde gelijk is aan x:

>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']>>> namen.remove('pieter')>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']>>> namen.remove('pieter')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: list.remove(x): x not in list

Zoals je ziet, krijg je een foutmelding als je vraagt om een element te verwijderen dat niet in de lijst zit.

Je kunt ook een element op een gegeven positie verwijderen. Dat doe je met de functie pop:

>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']>>> namen.pop(2)'joris'>>> namen['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

Als je goed hebt opgelet, zie je dat de functie pop niet alleen een element verwijdert, maar op de opdrachtregel ook als waarde het verwijderde element teruggeeft ('joris').

Snijden in een lijst

Python heeft een krachtige manier om een lijst in stukken te snijden: ‘slicing’. Herinner je de notatie [n] voor het n-de element? Met [n:] krijg je de elementen terug vanaf index n, met [:n] de elementen tot index n (niet inbegrepen) en met [m:n] de elementen van index m tot n (die laatste niet inbegrepen). Enkele voorbeelden maken dit duidelijk:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[1:]['jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[:4]['lies', 'jan', 'kees', 'mireille']>>> namen[1:4]['jan', 'kees', 'mireille']

Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het element zelf meerekent maar in de eindpositie niet, is de notatie van slicing nogal verwarrend. Het helpt daarom om deze posities te beschouwen als de posities van de komma’s in de lijst, te tellen vanaf 1. Alles tussen de komma’s op die posities is dan de gevraagde slice. Neem bijvoorbeeld namen[1:4]. Omdat namen gelijk is aan ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'], nemen we alles tussen de eerste en de vierde komma, dus van vóór 'jan' tot ná 'mireille', oftewel ['jan', 'kees', 'mireille'].

Slicing is ook een krachtige manier om een deel van een lijst te veranderen. Zo vervang je eenvoudig voorgaande slice in de lijst door een andere naam:

>>> namen['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[1:4] = ['bas']>>> namen['lies', 'bas', 'koen', 'rob']

Nog eens strings

In een string krijg je net zoals in een lijst toegang tot het n-de element met de notatie [n]. Zo krijg je met 'aniek'[1] het tweede teken van de string 'aniek', of de letter n. Ook slicing werkt bij een string: 'aniek'[1:4] is gelijk aan nie. Maar let op: in tegenstelling tot een lijst kun je een string niet veranderen. De poging 'aniek'[1:4] = 'r' geeft een foutmelding.

Dictionary’s

In een lijst heeft elk element als index zijn positie, zodat je eenvoudig het element op een specifieke positie kunt opvragen. Een andere datastructuur is de ‘dictionary’, die als index voor zijn elementen een sleutel gebruikt, vaak een string of een getal. Elke sleutel van de dictionary moet uniek zijn, zodat je eenvoudig de waarde die bij een specifieke sleutel hoort kunt opvragen.

Een voorbeeld maakt duidelijk hoe je met een dictionary werkt:

>>> scores = {'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['aniek']3>>> scores['bert']Traceback (most recent call last):File "<stdin>", line 1, in <module>KeyError: 'bert'>>> len(scores)4

Op deze manier kun je eenvoudig de score van een persoon opvragen op basis van zijn of haar naam. Je ziet hier ook dat je een foutmelding krijgt als je een element opvraagt met een index die niet in de dictionary bestaat.

Een dictionary kun je net zoals een lijst veranderen. Je kunt de waarde bij een specifieke sleutel veranderen, maar je kunt even eenvoudig een nieuw element toevoegen: ken gewoon een waarde toe aan een nieuwe sleutel. Bijvoorbeeld:

>>> scores{'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['lies'] += 1>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['bert'] = 1>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}

Een sleutel en de bijbehorende waarde uit de dictionary verwijderen, doe je met het speciale keyword del:

>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}>>> del scores['kees']>>> scores{'lies': 6, 'bas': 2, 'aniek': 3, 'bert': 1}

Samenvatting

In dit deel zijn we lang stil blijven staan bij een van de meest gebruikte datastructuren in Python: de lijst. De kennis die je hebt opgedaan over lijsten, kun je voor heel wat andere datatypes in Python hergebruiken. Zo toonden we hoe de notatie voor een index en voor ‘slicing’ hetzelfde is bij een string. Een ander belangrijk datatype dat je in dit deel zag, is de dictionary, waarin je geen positie maar een sleutel als index gebruikt. In het volgende deel verlaten we de interactieve Python-sessies en schrijven we onze eerste programma’s.

Opdracht 1

Je hebt de volgende lijst met namen: >>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek'] Splits deze lijst in zijn laatste element en de rest van de lijst.

Uitwerking opdracht 1

*>>> namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

laatste_persoon = namen.pop() namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'] laatste_persoon 'aniek'* Dit is een veel gebruikte toepassing van de functie pop(), die niet alleen het element op een specifieke index verwijdert, maar ook het verwijderde element teruggeeft. Waarschijnlijk heb je deze opdracht opgelost met: laatste_persoon = namen.pop(-1) Maar de -1 is niet nodig: zonder index geeft de functie pop het laatste element terug.

Opdracht 2

Haal uit een string alle tekens behalve het eerste en het laatste.

Uitwerking opdracht 2

*>>> naam = 'aniek'

naam[1:-1] 'nie'* Slicing werkt bij een string exact zoals bij een lijst. Bovendien kunnen we ook gebruikmaken van een negatieve index in slicing: -1 verwijst dan naar het laatste element. Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het teken zelf meerekent maar in de eindpositie niet, verwijst de slice [1:-1] dus naar alle tekens in de string behalve het eerste en het laatste.

Cheatsheet

datastructuur: een datatype dat uit elementen bestaat die met elkaar samenhangen. dictionary: een datastructuur waarin je elementen opvraagt aan de hand van een unieke sleutel. index (in een lijst): positie van een element in een lijst, te beginnen vanaf 0. index (in een dictionary): sleutel van een element waarmee het uit een dictionary op te vragen is. lijst: een datastructuur waarin je elementen opvraagt aan de hand van hun positie. slicing: het in stukken snijden van een lijst of string.

▼ Volgende artikel
Oscarnominaties 2026 bekend: Sinners breekt records
Huis

Oscarnominaties 2026 bekend: Sinners breekt records

De Oscarnominaties voor dit jaar zijn gisteren bekendgemaakt. Sinners heeft de meeste nominaties te pakken, namelijk zestien stuks.

Het gaat om de 98e editie van de Academy Awards, waarbij in de nacht van 15 op 16 maart weer de prestigieuze Oscars worden uitgedeeld aan films en hun makers.

Zoals gezegd heeft de horrorfilm Sinners van regisseur Ryan Coogler (met een dubbelrol van Michael B. Jordan) de meeste nominaties dit jaar gekregen: namelijk zestien nominaties. Dat is een record: de vorige recordhouder waren de films Titanic, La La Land en All About Eve met veertien nominaties. De film is overigens te zien via HBO Max en Pathé Thuis.

Ook One Battle After Another, de meest recente film van Paul Thomas Anderson, maakt kans op veel Oscarbeeldjes, namelijk dertien. Daarnaast zet Timothée Chalamet voor zijn rol in Marty Supreme zijn derde Oscarnominatie op zijn naam: ook een record voor iemand van zijn leeftijd.

Hieronder zijn alle genomineerden in de verschillende categorieën te zien.

Beste film:

  • Bugonia

  • F1

  • Frankenstein

  • Hamnet

  • Marty Supreme

  • One Battle After Another

  • The Secret Agent

  • Sentimental Value

  • Sinners

  • Train Dreams

Beste regisseur:

  • Chloé Zhao - Hamnet

  • Josh Safdie - Marty Supreme

  • Paul Thomas Anderson - One Battle After Another

  • Joachim Trier - Sentimental Value

  • Ryan Coogler - Sinners

Beste actrice in een hoofdrol:

  • Jessie Buckley - Hamnet

  • Rose Byrne - If I Had Legs I'd Kick You

  • Kate Hudson - Song Sung Blue

  • Renate Reinsve - Sentimental Value

  • Emma Stone - Bugonia

Beste acteur in een hoofdrol:

  • Beste Acteur in een Hoofdrol

  • Timothée Chalamet - Marty Supreme

  • Leonardo DiCaprio - One Battle After Another

  • Ethan Hawke - Blue Moon

  • Michael B. Jordan - Sinners

  • Wagner Moura - The Secret Agent

Beste actrice in een bijrol:

  • Elle Fanning - Sentimental Value

  • Inga Ibsdotter Lilleaas - Sentimental Value

  • Amy Madigan - Weapons

  • Wunmi Mosaku - Sinners

  • Teyana Taylor - One Battle After Another

Beste acteur in een bijrol:

  • Benicio Del Toro - One Battle After Another

  • Jacob Elordi - Frankenstein

  • Delroy Lindo - Sinners

  • Sean Penn - One Battle After Another

  • Stellan Skarsgård - Sentimental Value

Beste scenario (gebaseerd op bestaand verhaal):

  • Bugonia

  • Frankenstein

  • Hamnet

  • One Battle After Another

  • Train Dreams

Beste scenario (origineel verhaal):

  • Blue Moon

  • It Was Just an Accident

  • Marty Supreme

  • Sentimental Value

  • Sinners

Beste internationale film:

  • The Secret Agent (Brazilië)

  • It Was Just an Accident (Frankrijk)

  • Sentimental Value (Noorwegen)

  • Sirat (Spanje)

  • The Voice of Hind Rajab (Tunesië)

Beste animatiefilm:

  • Arco

  • Elio

  • KPop Demon Hunters

  • Little Amélie or the Character of Rain

  • Zootopia 2

Beste cinematografie:

  • Frankenstein

  • Marty Supreme

  • One Battle After Another

  • Sinners

  • Train Dreams

Beste originele score:

  • Bugonia

  • Frankenstein

  • Hamnet

  • One Battle After Another

  • Sinners

Beste nummer:

  • Dear Me - Diane Warren: Relentless

  • Golden - KPop Demon Hunters

  • I Lied To You - Sinners

  • Sweet Dreams of Joy - Viva Verdi!

  • Train Dreams - Train Dreams

Beste make-up en styling:

  • Frankenstein

  • Kokuho

  • Sinners

  • The Smashing Machine

  • The Ugly Stepsister

Beste kostuums:

  • Avatar: Fire and Ash

  • Frankenstein

  • Hamnet

  • Marty Supreme

  • Sinners

Beste casting:

  • Hamnet

  • Marty Supreme

  • One Battle After Another

  • The Secret Agent

  • Sinners

Beste montage:

  • F1

  • Marty Supreme

  • One Battle After Another

  • Sentimental Value

  • Sinners

Beste productiedesign:

  • Frankenstein

  • Hamnet

  • Marty Supreme

  • One Battle After Another

  • Sinners

Beste geluid:

  • F1

  • Frankenstein

  • One Battle After Another

  • Sinners

  • Sirat

Beste visuele effecten:

  • Avatar: Fire and Ash

  • F1

  • Jurassic World Rebirth

  • The Lost Bus

  • Sinners

Beste korte animatiefilm:

  • Butterfly

  • Forevergreen

  • The Girl Who Cried Pearls

  • Retirement Plan

  • The Three Sisters

Beste korte live-action film:

  • Butcher's Stain

  • A Friend of Dorothy

  • Jane Austen's Period Drama

  • The Singers

  • Two People Exchanging Saliva

Beste lange documentaire:

  • The Alabama Solution

  • Come See Me in the Good Light

  • Cutting Through Rocks

  • Mr. Nobody Against Putin

  • The Perfect Neighbor

Beste korte documentaire:

  • All the Empty Rooms

  • Armed Only With a Camera: The Life and Death of Brent Renaud

  • Children No More: Were and Are Gone

  • The Devil Is Busy

  • Perfectly a Strangeness

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Digitale huishoudboekjes: gratis inzicht in je financiën
© Natee Meepian
Huis

Digitale huishoudboekjes: gratis inzicht in je financiën

Benieuwd hoeveel geld je maandelijks aan boodschappen, abonnementen en verzekeringen spendeert? Een digitaal huishoudboekje komt dan goed van pas. Importeer je banktransacties, koppel je bankrekening(en) of voer alle betalingen handmatig in. Vervolgens zie je in één klap aan welke zaken je je geld uitgeeft. Zo krijg je meer grip op je financiën. We zetten de beste Nederlandstalige hulpjes op een rij.

Hoewel veel banken in hun apps alle uitgaven specificeren, zijn digitale huishoudboekjes nog altijd de moeite waard. Afhankelijk van welke toepassing je kiest, kun je namelijk meerdere rekeningen koppelen. Zo krijg je dus een compleet beeld van alle inkomsten en uitgaven. Veel online tooltjes zijn gratis, maar de functionaliteit is vaak beperkt. Voor de volledige versie dien je een maand- of jaarabonnement af te sluiten. Aangezien we met een digitaal huishoudboekje de uitgaven juist willen inperken, passeren in dit artikel alleen gratis oplossingen de revue.

BankTrans

Hoewel de Nederlandse eigenaar begin 2024 met de ontwikkeling van BankTrans stopte, blijft het programma nog wel bestaan. Download een versie voor Windows, macOS of Linux en importeer vervolgens banktransacties van verschillende rekeningen. Dat kan via diverse bestandsformaten, zoals csv, txt en MT940. Bij vrijwel iedere Nederlandse bank kun je een geschikt transactiebestand ophalen.

BankTrans is een bruikbaar huishoudboekje, mits je de juiste categorieën aan de transacties toewijst.

De oubollige gebruikersomgeving is even wennen. Zodra de transactiegegevens zijn ingelezen, verschijnen alle inkomsten en uitgaven in een lange waslijst. Bekijk onder meer of iets via een incasso, betaalautomaat of iDEAL is betaald. Je dient handmatig categorieën aan transacties toe te wijzen. Sleep hiervoor geselecteerde transacties naar een categorie aan de linkerkant. Wanneer deze klus eenmaal is geklaard, zie je precies hoeveel geld je maandelijks of jaarlijks aan pakweg kleding, cadeaus en brandstof uitgeeft. Gebruik hiervoor de filteropties.

BankTrans

⭐⭐⭐

Plus:
Ruime bestandscompatibiliteit, rap banktransacties inlezen

Min:
Geen updates meer, handmatig banktransacties toewijzen, hoge leercurve, gedateerde gebruikersomgeving

https://banktrans.nl

Budgetbeheerder, Geld tracker

Zoek je een digitaal huishoudboekje voor je smartphone of tablet, dan is Budgetbeheerder, Geld tracker een goede keuze. Deze breed gewaardeerde app is zowel voor Android als iOS beschikbaar. Je kunt de toepassing gratis gebruiken, al komen er dan wel regelmatig advertenties en reclamevideo’s tevoorschijn.

In de Uitgaven-sectie zie je precies waar je je geld aan uitgeeft.

Dit huishoudboekje is simpel in gebruik. Selecteer eerst de gewenste datum en tik daarna op het plusteken om inkomen of een kostenpost toe te voegen. Kies hierbij ook een van de beschikbare categorieën. Is deze lijst niet compleet? Geen probleem, want je maakt in de instellingen zo nodig een nieuwe categorie aan. Handig is dat je (een foto van) een kassabon, factuur of loonstrook kunt bijsluiten.

Helaas is het importeren van een transactiebestand niet mogelijk. Hierdoor kost het veel tijd om alles handmatig in te voeren. Wie alle transacties zorgvuldig toevoegt, kan een balans van een week, maand, jaar of aangepaste periode opvragen. Stel optioneel herinneringen in, zodat je het huishoudboekje op gezette tijden kunt bijwerken.

Budgetbeheerder, Geld tracker

⭐⭐⭐

Plus:
Gebruiksvriendelijk, foto aan transactie koppelen, beveiliging met pincode

Min:
Veel reclame, geen ondersteuning voor transactiebestanden, tijdrovend

Android / iOS

De Huishoudkist

Net als BankTrans heeft ook De Huishoudkist een gedateerde vormgeving. Bovendien vraagt de softwareontwikkelaar voor het analyseren van banktransacties een klein bedrag. Plaats een transactiebestand van jouw bankrekening in de downloadmap van Windows. Via Invoer / Import bank plukt De Huishoudkist alle transacties uit het bankbestand. Werkt het goed en wil je grafieken van de ingelezen banktransacties tonen, dan kost deze module eenmalig 7,60 euro. Als alternatief kun je de boel ook handmatig invoeren.

Zodra je de banktransacties hebt ingeladen, voeg je zelf categorieën aan de inkomsten en uitgaven toe.

Je dient eigenhandig de juiste categorieën aan betalingen en inkomsten toe te voegen. De Huishoudkist heeft hiervoor een uitgebreide lijst. Een pluspunt is dat je een heleboel grafieken kunt opvragen, zoals de gemiddelde inkomsten en uitgaven per maand of het jaarbudget van jouw gezin. Daarnaast kun je een grafiek met uitgaven van alle geselecteerde categorieën opvragen. Wil je liever niet dat andere gezinsleden De Huishoudkist gebruiken, dan beveilig je het programma met een wachtwoord.

De Huishoudkist

⭐⭐

Plus:
Veel categorieën, uitgebreide grafieken, wachtwoordbeveiliging

Min:
Alleen voor Windows, gedateerde vormgeving, extra kosten voor analyseren van banktransacties

www.huishoudkist.nl

Dyme Basic

Dyme is een modern vormgegeven app voor Android en iOS. We bespreken in dit artikel de gratis basisversie. Maak na de installatie eerst een account aan. Overigens kun je ook met een profiel van Apple, Google of Facebook inloggen. Vervolgens ga je je bankrekening koppelen, waarna Dyme automatisch alle transacties ophaalt. Soms werkt deze koppeling niet meteen, maar blijf het in dat geval gewoon proberen. Ben je ietwat huiverig om zomaar bankgegevens met een app te delen? Weet dan dat Dyme voldoet aan de voorwaarden van De Nederlandsche Bank. Al jouw gegevens worden gecodeerd opgeslagen.

Nadat je de app toegang tot je transacties hebt gegeven, geeft Dyme Basic vliegensvlug inzicht in je financiën, omdat deze app alle transacties automatisch categoriseert.

Je kunt optioneel pushberichten aanzetten. Zo weet je een dag van tevoren bijvoorbeeld wanneer de woonstichting huur afschrijft of jouw werkgever salaris stort. Fijn is dat Dyme Basic op eigen houtje inkomsten, vaste lasten en uitgaven categoriseert. Dat scheelt vergeleken met andere huishoudboekjes een heleboel tijd! Je kunt hierbij naar onderliggende subcategorieën doortikken.

De app checkt ook of er voor bepaalde verzekeringen, energieleveranciers en providers goedkopere alternatieven zijn. Misschien kun je zelfs rechtstreeks overstappen. Dit is trouwens een belangrijk verdienmodel van Dyme, want het Amsterdamse bedrijf strijkt op die manier commissies op. Met de betaalde versie (Silver of Gold) kun je onder andere ongewenste contracten opzeggen, eigen categorieën toevoegen en transacties naar Excel exporteren.

Dyme Basic

⭐⭐⭐⭐⭐

Plus:
Moderne app, bankrekening koppelen, automatisch banktransacties categoriseren

Min:
Soms foutmelding bij koppelen bank

https://dyme.app

MijnGeldzaken.nl - Brons

In 2019 nam MijnGeldzaken.nl het populaire online huishoudboekje AFAS Personal over. Deze dienst is nog altijd gratis beschikbaar, al is het zogenoemde Brons-account wel beperkt. Zo koppel je in tegenstelling tot Dyme Basic slechts één rekeningnummer. Verder kun je niet budgetteren en geen eigen categorieën aanmaken. Wie niet op deze beperkingen zit te wachten, betaalt voor een Koper-abonnement zo’n 27 euro per jaar.

Het cirkeldiagram van MijnGeldzaken.nl laat per maand zien waaraan je je geld uitgeeft.

Nadat je een account hebt aangemaakt, log je op de website of in een app (Android en iOS) in. MijnGeldzaken.nl kan zo nodig gegevens van een oud AFAS Personal-account importeren. Het dashboard is behoorlijk uitgebreid. Neem dus even de tijd om alle functies te verkennen. Je kunt een bankrekening koppelen óf handmatig banktransacties importeren via een csv-bestand. Helaas is voor gratis leden het koppelen van een bankrekening slechts een beperkte periode beschikbaar. MijnGeldzaken.nl voldoet aan de voorwaarden van De Nederlandsche Bank.

Het huishoudboekje toont in het hoofdscherm hoeveel geld je volgens historische data deze maand nog ontvangt en nog dient te betalen. Verder wijst MijnGeldzaken.nl zelfstandig categorieën aan inkomsten en uitgaven toe. Een cirkeldiagram toont hoeveel geld je aan wonen, huishouden, vervoer, verzekeringen, vrije tijd en kleding spendeert. Jammer genoeg maakt deze webdienst nauwelijks gebruik van kleuren, waardoor de gebruiksomgeving nogal saai oogt.

MijnGeldzaken.nl - Brons

⭐⭐⭐⭐

Plus:
Uitgebreid dashboard in browser of app, banktransacties inlezen, automatisch inkomsten en uitgaven categoriseren

Min:
Eén rekeningnummer toevoegen, bankrekening koppelen beperkt mogelijk in gratis versie, saaie gebruikersomgeving

www.mijngeldzaken.nl

Bankkoppeling intrekken

Je kunt de zogeheten PSD2-koppeling naar jouw bank op ieder moment weer stopzetten. Nuttig voor het geval je Dyme of MijnGeldzaken.nl niet meer gebruikt. Duik hiervoor in de instellingen van de gebruikte tool en navigeer naar je bankgegevens. Vervolgens kun je de PSD2-koppeling intrekken.

Klik in de instellingen van MijnGeldzaken.nl achter jouw rekeningnummer op Wijzigen / PSD2-toegang en verwijder de koppeling via het prullenbakje.

Conclusie

Hoewel de mogelijkheden van MijnGeldzaken.nl Brons en Dyme Basic in grote lijnen overeenkomen, geven we toch de voorkeur aan laatstgenoemde aanbieder. Je kunt hiermee in de gratis versie namelijk meerdere rekeningnummers koppelen, waarna deze app alle transacties automatisch categoriseert. Bovendien blijft de bankkoppeling in stand, terwijl die bij MijnGeldzaken.nl Brons na de proefperiode vervalt. Wellicht wil je liever niet dat het digitale huishoudboekje banktransacties rechtstreeks bij jouw bank ophaalt. In dat geval zijn BankTrans (desktopprogramma) en Budgetbeheerder, Geldtracker (app) bruikbare alternatieven.