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

Zo kun je programmeren in Python - Deel 1

Vanaf nu vind je op Computer!Totaal een meerdelige cursus over een van de meestgebruikte programmeertalen ter wereld: Python. Python heeft een heldere structuur die redelijk snel te leren is en heeft veel mogelijkheden. Niet voor niets wordt het op allerlei plekken ingezet, bijvoorbeeld als scripttaal voor het automatisch uitvoeren van taken op een besturingssysteem, het programmeren van een Raspberry Pi en ook werken veel websites ermee.

In dit eerste deel over Python maak je kennis met deze populaire programmeertaal en leg je een stevige basis voor het schrijven hierin. Daarna installeren we Python en leggen we uit hoe je met de interpreter werkt. We zetten ook onze eerste kleine programmeerstapjes door je te laten kennismaken met getallen en tekst.

Python

Programmeren is niets anders dan aan een computer instructies geven die hij moet uitvoeren. Een computer is geen mens, wat maakt dat hij heel expliciete instructies nodig heeft. Die geef je daarom in een programmeertaal: een formeel gedefinieerde taal die alles duidelijk uitspreekt, zodat de computer je goed verstaat.

Net zoals er heel wat talen bestaan in de wereld van de mensen, bestaan er ook enorm veel programmeertalen. Een populaire programmeertaal voor algemeen gebruik is Python, overigens uitgevonden door een Nederlander, Guido van Rossum. De Python-gemeenschap besteedt veel aandacht aan leesbaarheid van de code. De programmeertaal staat al sinds 2003 jaarlijks in de top 10 van de meest populaire programmeertalen van Tiobe. Veel grote bedrijven gebruiken Python en ook heel wat software voor de Raspberry Pi is in Python geschreven. Kortom, als je Python kent, is je programmeerkennis op allerlei domeinen nuttig.

Python 2 en 3

Als we het over Python hebben, bedoelen we Python 3, de nieuwste versie van Python. Versie 3.0 kwam al in 2008 uit en momenteel zijn we al bij Python 3.7. Je ziet ook nog veel Python 2-code, hoewel Python 2 door de ontwikkelaars van Python vanaf 2020 niet meer wordt ondersteund. Voor onze reeks maakt het niet zo veel uit, maar als je je bezig gaat houden met wat geavanceerdere zaken, kom je zeker Python 2-code tegen die niet in Python 3 werkt en andersom.

Python installeren

Python is opensource en draait zowel op Windows als op macOS en Linux. Je kunt de programmeeromgeving gratis downloaden. Download de nieuwste Python3-release voor je besturingssysteem. Op het moment van schrijven is dat Python 3.7.1. Gebruik je Linux, dan is Python in principe standaard al geïnstalleerd. Is dat toch niet het geval, installeer Python 3 dan met de pakketbeheerder van je Linux-distributie. Mogelijk installeert dat niet de recentste versie, maar dat maakt voor onze reeks niet uit.

In Windows kies je de executable installer voor 64 bit of 32 bit, afhankelijk van je Windows-versie. Vink in het eerste venster van het installatieprogramma Install launcher for all users en Add Python to PATH aan. Na de installatie kun je controleren of Python correct geïnstalleerd is met de volgende opdrachtregel in een Opdrachtprompt:

python --version

Je ziet dan het versienummer van je Python-installatie.

Werken met de Python-interpreter

Het programma python dat we hierboven hebben uitgevoerd, is de Python-interpreter. Dit programma vertaalt code in de Python-programmeertaal naar machinecode die je computer verstaat. Als je die Python-interpreter uitvoert, krijg je iets als het volgende te zien (het versienummer en de datum kunnen bij jou verschillen):

Python 3.6.5 (default, Apr[GCC 7.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>

De drie groter dan-tekens is de opdrachtprompt die aangeeft dat de Python-interpreter op je opdrachten wacht. Je krijgt onmiddellijk al te zien wat enkele mogelijke opdrachten zijn.

Wat je niet te zien krijgt, is hoe je de Python-interpreter weer verlaat. Daarvoor typ je exit() of quit() of druk je op Ctrl+D.

Cursus Python

Wil je dieper in de mogelijkheden van Python duiken, dan bieden wij een uitgebreide Tech Academy cursus aan.

Werken in een Python-ontwikkelomgeving

De Python-interpreter is voldoende om kort enkele Python-opdrachtjes uit te proberen, maar om een volwaardig Python-programma te schrijven, heb je een ontwikkelomgeving nodig. Er bestaan diverse ontwikkelomgevingen voor Python, maar als beginner kun je volstaan met Thonny, dat standaard wordt geïnstalleerd bij Python vanaf versie 3.7. Pas in het derde deel gaan we op Thonny in.

Python als een rekenmachine

Open opnieuw de Python-interpreter. We gaan nu met getallen werken. In feite kun je de Python-interpreter als een geavanceerde rekenmachine gebruiken:

>>> 1+12>>> 1.5*34.5>>> (212-32)*5/9100.0>>> 20*1.8+3268.0>>> 3**481

De laatste berekening is misschien niet vertrouwd als notatie: de operator ** berekent de macht van een getal. 3**4 is dus 3 tot de 4e macht.

Na elke opdracht toont Python zijn uitvoer en kun je een nieuwe opdracht invoeren. Met de pijltjestoetsen kun je door je al ingevoerde opdrachten bladeren om dezelfde opdracht opnieuw in te voeren of aan te passen.

Python kent twee types getallen: int (gehele getallen) en float (getallen met komma, door Python weergegeven als een decimale punt). Als je alleen met gehele getallen rekent en geen deling uitvoert, is het resultaat ook een geheel getal. Maar zodra er een float in je berekening voorkomt (zoals in 20*1.8+32) of je door een getal deelt (zelfs door een int, zie (212-32)*5/9), is het resultaat een float. Dat zie je doordat Python een decimale punt gebruikt, zelfs als het resultaat een geheel getal is (100.0).

Delen

We zagen dat je getallen deelt met de operator /. Dat geeft als resultaat altijd een float:

>>> 7/32.3333333333333335

Maar je hebt ook de operator // waarmee je een gehele deling uitvoert. Dat wil zeggen dat het deel na de komma wordt genegeerd en je als resultaat een int krijgt:

>>> 7//32

Je kunt ook de rest van de deling door een getal opvragen, namelijk met de operator %:

>>> 7%31

En dat klopt, want als we de twee vorige berekeningen samennemen, kunnen we eenvoudig narekenen dat 7 gelijk is aan 3*2+1.

Overigens werken de operatoren // en % ook voor niet-gehele getallen:

>>> 7.5/2.13.571428571428571>>> 7.5//2.13.0>>> 7.5%2.11.1999999999999997

Types

Je hebt nu kennisgemaakt met de twee typen getallen: int en float. Het type van een getal of een berekening kun je eenvoudig opvragen:

>>> type(1+1)<class 'int'>>>> type(7.5)<class 'float'>>>> type(7.5//2.1)<class 'float'>>>> type(7//3)<class 'int'>

Merk op: het resultaat van 7.5//2.1 is 3.0, wat een float is.

Je kunt getallen ook omzetten van het ene naar het andere type:

>>> float(1+1)2.0

>>> int(2.5)2

Als je een int naar float omzet, dan blijft de waarde van het getal hetzelfde; zet je een float naar int om, dan wordt de waarde na de komma afgebroken.

Variabelen

Als je de Python-interpreter als rekenmachine gebruikt, wil je misschien de vorige waarde als onderdeel van een volgende berekening gebruiken zonder dat je die helemaal opnieuw hoeft in te typen. Dat kan eenvoudig met de variabele _:

>>> 7/32.3333333333333335>>> _*511.666666666666668

Een variabele is een naam die je aan een waarde geeft. De Python-interpreter kent automatisch de laatste waarde toe aan de variabele _. Maar je kunt ook zelf variabelen aanmaken met een willekeurige naam, zolang het niet dezelfde naam is als een geregistreerd woord uit de Python-taal. Vervolgens kun je die variabelen gewoon in de plaats van de getallen die ze voorstellen gebruiken:

>>> teller=7>>> noemer=3>>> resultaat=teller//noemer>>> rest=teller%noemer>>> teller7>>> noemer3>>> resultaat2>>> rest1>>> type(rest)<class 'int'>

Verwijs je naar een variabele waar je nog geen waarde aan hebt toegekend, bijvoorbeeld door een typfout, dan krijg je een foutmelding:

>>> type(deltal)Traceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'deltal' is not defined

Tekst

Python kent naast int en float nog heel wat andere ingebouwde types. Een veelgebruikt datatype is str, dat we vaak voluit string noemen. Een string stelt tekst voor, bijvoorbeeld 'Dit is een tekst'. Een string mag je zowel tussen dubbele als enkele aanhalingstekens zetten. Goed gebruik is wel om voor jezelf altijd één keuze te maken.

Omdat de aanhalingstekens worden gebruikt om het begin en einde van een string aan te geven, moet je iets speciaals doen als je ze in je tekst zelf wilt gebruiken: je dient ze te ‘escapen’. Dat doe je door er een backslash voor te zetten. Bijvoorbeeld: 'Dit is een \'tekst\''.

Net zoals we bewerkingen op getallen kunnen uitvoeren, kan dat ook op tekst. Enkele voorbeelden maken dit duidelijk:

>>> 'Py' 'thon''Python'>>> 'Py'+'thon''Python'>>> 3*'Py'+2*'thon''PyPyPythonthon'

Daarnaast kun je allerlei functies op een string toepassen:

>>> len('zandzeepsodamineraalwatersteenstralen')
37>>> 'dit is een TEKST'.capitalize()'Dit is een tekst'>>> 'dit is een TEKST'.lower()'dit is een tekst'>>> 'dit is een TEKST'.upper()'DIT IS EEN TEKST'>>> 'dit is een TEKST'.swapcase()'DIT IS EEN tekst'

In het tweede deel, leer je hoe je met individuele letters in een tekst om kunt gaan.

Opdracht

Maak een variabele teller met de waarde 24.3 en een variabele noemer met de waarde 8.1. Maak een variabele resultaat met als waarde teller gedeeld door noemer en zorg ervoor dat dit als geheel getal (dus niet als float) wordt weergegeven.

Uitwerking

>>> teller=24.3*>>> noemer=8.1**>>> resultaat=int(teller/noemer)**>>> resultaat* De eerste twee regels spreken hopelijk voor zich. In de derde regel delen we de teller door de noemer en wijzen de uitkomst toe aan resultaat. Zouden we het hierbij laten, dan zou de uitkomst weergegeven worden als 3.0. Door het type int toe te wijzen aan resultaat, wordt de uitkomst als geheel getal weergegeven, in dit geval dus 3.

Samenvatting

In deze eerste les heb je kennisgemaakt met de programmeertaal Python. Je kunt met de Python-interpreter werken en je hebt kennisgemaakt met basisbewerkingen op getallen en strings. Je weet ook wat datatypes en variabelen zijn. In de deel 2 gaan we met complexere datatypes aan de slag.

Cheatsheet

int (integer) = geheel getal float (floating-point arithmetic) = breuk of kommagetal str (string) = tekenreeks operator = bewerking

▼ Volgende artikel
Review Xiaomi Robot Vacuum 5 Pro – Zuigrobot met een overtuigend navigatiesysteem
© Wesley Akkerman
Huis

Review Xiaomi Robot Vacuum 5 Pro – Zuigrobot met een overtuigend navigatiesysteem

Xiaomi doet al een tijd mee in de wereld van robotstofzuigers en de Xiaomi Robot Vacuum 5 Pro is daar een recent wapenfeit van. Dit is de net iets uitgebreidere versie van de Robot Vacuum 5 en hij heeft een stevige adviesprijs van 799 euro.

Goed
Conclusie

De Xiaomi Robot Vacuum 5 Pro doorbreekt geen barrières. De meest opvallende feature is de manier van navigeren: dat gaat hem heel goed af. Daarnaast is het keurig dat je op dit prijspunt een uitschuifbare borstel én dweil krijgt. Daar staat tegenover dat je koud en zonder zeep moet dweilen, dat de waterbak wellicht te klein voor je is en dat de robot óók het kleed dweilt. Dat zijn een aantal onhandige zaken, waardoor de vraagprijs gevoelsmatig hoog ligt. Mocht de prijs onder de 700 euro zakken, dan is dit een aantrekkelijkere deal.

Plus- en minpunten
  • Uitschuifbare borstel en dweil
  • Antiklitborstel onderop
  • Uitgebreid en secuur navigatiesysteem
  • Meer dan genoeg zuigkracht
  • Uitgebreide object- en vuilherkenning
  • Veel opties binnen de app
  • Uitschuifbare borstel laat zich weinig zien
  • De robot dweilt ook op het vloerkleed
  • Zeepbak in het basisstation ontbreekt
  • Kleine waterbak voor het dweilen

De Xiaomi Robot Vacuum 5 Pro heeft bovenop een telescopische AI-camera en aan de voorkant twee infraroodogen. Daarmee herkent hij tot wel 200 objecten en onderscheidt hij 47 soorten vuil. Handig, want zo kan hij onderweg zijn route en zuigkracht aanpassen. Met de uitschuifbare borstel en het dweilpad pakt hij ook de plinten en lastige hoekjes mee. En met een maximale zuigkracht van 20.000 Pa zuigt de 5 Pro alle viezigheid op die hij tegenkomt.

Onderop zit een borstel die haren netjes meeneemt zonder dat ze erin verstrikt raken. De twee dweilpads klikken met magneten vast. Soms hangen ze wat scheef als de robot met zijn achterkant ergens tegenaan botst, maar ze blijven altijd zitten. Opvallend is dat de pads tijdens een gewone stofzuigbeurt niet in het station achterblijven. Omdat ze bij de volgende ronde toch droog zijn, is dat eigenlijk geen nadeel.

©Wesley Akkerman

Goede en betrouwbare navigatie

Navigeren gaat de Xiaomi Robot Vacuum 5 Pro erg goed af. Nadat hij eerst de kamer(s) omlijnt, gaat hij systematisch te werk door zigzaggend de grond te reinigen (eigenlijk zoals elke robotstofzuiger dat doet). Opvallend is hoe voorzichtig het systeem daarbij te werk gaat. In tegenstelling tot de vergelijkbaar geprijsde Philips Homerun 5000 slaat hij gelukkig weinig plekken over. Zo nu en dan lijkt het net alsof de robot zich namelijk herpakt. Dan stopt hij met bewegen, rijdt-ie een stukje naar achteren om de situatie in te schatten en vervolgens pakt-ie de taak weer op.

Nu zou je kunnen stellen dat dit een wat onhandige manier van werken is, of dat de Xiaomi Robot Vacuum 5 Pro niet slim genoeg is alles in één keer mee te pakken. Maar wij focussen liever op het positieve en zien er juist de waarde van in. De robotstofzuiger komt hierdoor namelijk niet snel klem te zitten. Hij vermijdt stoel- en tafelpoten en rijdt zich nergens op vast. Het enige waar hij wel moeite mee heeft, zijn vloerkleden. De 5 Pro herkent ze als zodanig en stofzuigt ze gewoon, maar op de een of andere manier slaat hij soms hele delen van het kleed over.

©Wesley Akkerman

Dweilen zonder zeep

We hebben de 5 Pro niet kunnen betrappen op het gebruiken van de uitschuifbare borstel. Wellicht acht de robot dat niet nodig, maar die van Dreame maakt er wel degelijk gebruik van. Daarentegen is het goed om te zien dat de Xiaomi de dweilschommel wel inzet. Bij randen en kasten komt de dweilpad naar buiten om dichter op de muren en andere objecten schoon te maken. Ook rijdt hij weleens een stukje naar achteren en naar voren om eventueel overgeslagen delen mee te pakken. De 5 Pro laat bovendien geen dweilstrepen achter; heel fijn om te zien.

Net als bij veel andere dweilende robotstofzuigers kun je er niet van uitgaan dat de Xiaomi Robot Vacuum 5 Pro echt hardnekkige plekken aanpakt. Maar voor dagelijks onderhoud is dit meer dan prima. Het basisstation zorgt er daarnaast voor dat de robot altijd schoon en klaar voor gebruik is. De stofopvangbak wordt leeggezogen, het water wordt bijgevuld en de dweilpads worden netjes gedroogd. Helaas is er geen zeepbak aanwezig, waardoor je dus met alleen koud water wast. Verder vinden we het vreemd dat de robot ook het kleed dweilt, ondanks de tapijtherkenning.

©Wesley Akkerman

De capaciteit van de waterbak stelt met 80 ml ook iets teleur. Voor het huis van ondergetekende (57 vierkante meter) is dat voldoende, maar in een groter huis kan dat voor uitdagingen zorgen. De robot doet er al best lang over om overal te komen. Dat is in principe niet verkeerd, omdat hij secuur te werk gaat. Maar het kan dus zijn dat het systeem nog meer tijd kwijt is aan zijn dweiltaak, omdat hij zonder water komt te zitten en dus moet 'tanken' bij het basisstation. Geen issue als je op vaste momenten schoonmaakt, maar wellicht onhandig als je dat net voor een feestje wilt doen.

Uitgebreide app

Binnen de app kun je overigens flink wat zaken instellen. Je ziet de aanpasbare kaart, de positie van de robot tijdens het rijden en kunt precies instellen hoe je wilt dat de Xiaomi Robot Vacuum 5 Pro schoonmaakt. Ook bepaal je gemakkelijk hoe secuur de robot moet zijn, door invloed uit te oefenen op het gezigzag, in welke mate hij zich moet focussen op hoeken, randen en obstakelvermijding en hoe het basisstation de boel schoonmaakt. Verder kun je altijd meekijken met de camera. In de app zie je tot slot foto's staan van herkende objecten.

Xiaomi Robot Vacuum 5 Pro kopen?

De Xiaomi Robot Vacuum 5 Pro doorbreekt geen barrières. De meest opvallende feature is de manier van navigeren: dat gaat hem heel goed af. Daarnaast is het keurig dat je op dit prijspunt een uitschuifbare borstel én dweil krijgt. Daar staat tegenover dat je koud en zonder zeep moet dweilen, dat de waterbak wellicht te klein voor je is en dat de robot óók het kleed dweilt. Dat zijn een aantal onhandige zaken, waardoor de vraagprijs gevoelsmatig hoog ligt. Mocht de prijs onder de 700 euro zakken, dan is dit een aantrekkelijkere deal.

▼ Volgende artikel
Apple Intelligence spreekt eindelijk Nederlands
© Apple
Huis

Apple Intelligence spreekt eindelijk Nederlands

Apples slimme AI-functies zijn er nu ook in het Nederlands. Met iOS 26.1, macOS 26.1 en watchOS 26.1 krijgen Schrijfhulp en Visual Intelligence officiële taalondersteuning. Eerst alleen in de developer-bèta, over enkele weken in de public bèta en later dit najaar in de definitieve release.

In dit artikel lees je:
  • Apple Intelligence nu ook in het Nederlands
  • Beschikbaar vanaf iOS 26.1, macOS 26.1 en watchOS 26.1
  • Eerst in de developer-bèta, binnenkort ook in de public bèta
  • Slimmere Siri en functies als Schrijfhulp en Visual Intelligence
  • Niet alle functies werken meteen in Europa
  • Alleen beschikbaar op recente iPhones, iPads en Macs

Wat is Apple Intelligence eigenlijk?

Apple Intelligence is het AI-platform dat Apple in 2024 lanceerde als antwoord op ChatGPT. Geen losse app, maar een set slimme functies die diep verweven zit in iOS, iPadOS, macOS en watchOS. Je krijgt daarmee schrijfhulpen, visuele herkenning, vertaalopties en creatieve tools. Belangrijk verschil met veel andere AI-diensten: Apple laat je data zoveel mogelijk op je eigen toestel verwerken. Alleen bij complexere taken springt de cloud bij, afgeschermd via Private Cloud Compute.

Vanaf iOS 26.1 ook bruikbaar in Nederland

Early adapters weten het: tot nu toe moest je in het Engels werken. Met iOS 26.1, macOS 26.1 en watchOS 26.1 schakelt Apple Intelligence echter eindelijk naar het Nederlands. Daarmee wordt het herschrijven van teksten, samenvatten van documenten en aanpassen van toon opeens een stuk toegankelijker. Ook Visual Intelligence, dat teksten op je scherm kan herkennen, samenvatten en vertalen, spreekt onze taal.

Apple voegt tegelijk andere talen toe, waaronder Deens, Noors, Zweeds, Turks en traditioneel Chinees. Het is een voorzichtige, maar gestage wereldwijde uitrol.

©Apple

Siri krijgt eindelijk hersens

Siri stond jarenlang te boek als de domste assistent van de klas. Apple Intelligence verandert dat beeld. Siri kan nu meerdere taken combineren en context begrijpen. Een opdracht als 'Stuur de notulen van mijn laatste vergadering naar Lisa' wordt direct uitgevoerd: Siri zoekt het juiste document in Notities en verstuurt het via Mail of Berichten. Met de komst van Nederlandse taalondersteuning wordt Siri dus ook hier een stuk bruikbaarder.

Niet alles werkt meteen hier

Toch loopt Europa achter op sommige punten. De Workout Buddy in watchOS 26 komt wel, maar voorlopig alleen in het Engels. Deze functie geeft tijdens het sporten motiverende aanwijzingen en feedback. Ook de live-vertaling via de AirPods – die nu ook Japans, Koreaans, Italiaans en Chinees ondersteunt – blijft in de EU nog uit. Reden: strengere Europese regels rondom privacy en veiligheid.

Heb jij de juiste hardware?

Niet elk Apple-apparaat kan trouwens overweg met Apple Intelligence. Voor iPhones geldt dat alleen de iPhone 15 Pro, 15 Pro Max, de hele iPhone 16-serie en uiteraard de nieuwste 17-serie worden ondersteund. Op iPads en Macs is een M-chip vereist: minimaal een M1 dus. Draait je toestel wel iOS 26 of macOS 26, maar heeft het oudere hardware, dan val je helaas buiten de boot.

©Apple

Europa stelt extra eisen

Dat Apple hier later start, komt door de Digital Markets Act. Deze Europese wet verplicht grote techbedrijven transparanter te zijn over datagebruik. Apple moest zijn AI-platform daarom aanpassen met strengere privacyregels en een opt-in model voor functies zoals de koppeling met ChatGPT. In de VS konden gebruikers dus eerder aan de slag.

Met iOS 26.1, macOS 26.1 en watchOS 26.1 start Apple Intelligence eindelijk officieel in het Nederlands. Voorlopig nog in de developer- en public bèta, later dit najaar in de definitieve versie. Het vraagt recente hardware en niet elke functie is hier meteen beschikbaar. Maar dit is wel de stap waarop veel Nederlandse Apple-fans hebben gewacht: kunstmatige intelligentie die naadloos in je iPhone en Mac zit, en eindelijk ook in je eigen taal.