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
De Forza Horizon 6-releasedatum is mogelijk gelekt
Huis

De Forza Horizon 6-releasedatum is mogelijk gelekt

Het lijkt er op dat Microsoft zelf de releasedatum van het langverwachte Forza Horizon 6 heeft gelekt. De game zou op 19 mei uitkomen op Xbox Series-consoles en pc.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf vandaag 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.

Volgens Xbox Infinite verscheen er namelijk een advertentie in Forza Horizon 5 waarin staat dat de Premium Edition van de game toegang geeft vanaf 15 mei, om precies te zijn vier dagen voor de officiële release. Dat zou dus betekenen dat het spel op 19 mei voor iedereen beschikbaar komt. De advertentie is mogelijk te vroeg online gekomen, want officieel is er nog helemaal geen releasedatum bekend.

Waarschijnlijk horen we de officiële releasedatum op 22 januari. Dan zendt Microsoft namelijk een nieuwe Xbox Developer Direct uit, met een focus op Forza Horizon 6 en de nieuwe Fable – die beide worden ontwikkeld door Playground Games. Ook komt Beast of Reincarnation voorbij, de nieuwe game van Pokémon-studio Game Freak. Dat is immers een onafhankelijke studio, dus ze kunnen ook spellen buiten Nintendo ontwikkelen. Tot slot gaan er geruchten dat er een mysterieuze vierde titel wordt getoond, mogelijk een indiegame.

Op veler verzoek: racen in Japan

In de Forza Horizon-games kunnen spelers naar hartenlust rondscheuren in mooie bolides. De games spelen zich af in open werelden, waarbij men de mogelijkheid heeft om aan diverse racefestivals mee te doen. Forza Horizon 6 heeft als setting Japan – een locatie waar veel fans al geruime tijd om vragen. Ook zullen net als in de vorige games de seizoenen veranderen. Het betreft een subreeks van Forza Motorsport – dat zijn serieuzere racegames ten opzichte van de wat speelsere Horizon-titels.

Forza Horizon 6 heeft op moment van schrijven in ieder geval nog geen officiële releasedatum, al is wel bekend dat het racespel eerst naar Xbox Series-consoles en pc komt alvorens hij op PlayStation 5 zal verschijnen. Microsoft brengt zijn games tegenwoordig ook steeds vaker naar Sony’s console – soms tegelijk met de Xbox-versie, maar in dit geval dus pas ergens daarna.

View post on X
▼ Volgende artikel
Starten met smarthome in één middag: een stappenplan voor beginners
Zekerheid & gemak

Starten met smarthome in één middag: een stappenplan voor beginners

Een slim huis klinkt ingewikkeld, maar je kunt de basis prima in een paar uur neerzetten. Met de juiste voorbereiding en focus op specifieke producten maak je jouw woning direct een stuk comfortabeler. In dit artikel leggen we je uit hoe je binnen één middag de eerste stappen zet zonder dat het je boven het hoofd groeit.

Veel mensen denken dat het opzetten van een slim huis een langdurig en ingrijpend project is waarbij je muren moet openbreken voor bekabeling. De werkelijkheid is dat moderne draadloze standaarden en gebruiksvriendelijke apps het proces enorm hebben versneld. Als je meteen vanaf het begin slimme keuzes maakt, bespaar je jezelf een hoop ellende en frustratie later. Het gaat erom dat je klein begint en kiest voor apparatuur die soepel met elkaar samenwerkt via een centraal punt, zodat je niet voor elk los onderdeel een andere bedieningswijze nodig hebt.

De basis: een stabiel netwerk en een hub

Voordat je begint met het uitpakken van nieuwe gadgets, moet je zorgen dat de fundering van je slimme woning stevig staat. Je wifi-netwerk is de ruggengraat van al je apparaten, dus controleer of de dekking in de ruimtes waar je aan de slag gaat voldoende is. Het is vaak slim om te kiezen voor een centrale hub of een slimme speaker die als brug dient voor verschillende protocollen zoals Zigbee of Matter. Door te kiezen voor een apparaat dat meerdere standaarden ondersteunt, voorkom je dat je voor elk nieuw lampje een aparte brug in het stopcontact moet steken. Dat scheelt niet alleen ruimte, maar zorgt ook voor een snellere reactietijd van je apparatuur omdat signalen minder hoeven te reizen.

©Philips Hue

Direct resultaat met slimme verlichting en stekkers

De snelste manier om je huis slim te laten aanvoelen, is door te beginnen met de verlichting. Je vervangt je oude lampen simpelweg door slimme varianten en koppelt deze aan de bijbehorende app op je telefoon. In diezelfde middag kun je direct eenvoudige automatiseringen instellen, zoals lampen die automatisch op een warme kleur overgaan wanneer de avond valt. Slimme stekkers zijn hierop een goede aanvulling voor apparaten die van zichzelf niet verbonden zijn, zoals een oude staande lamp of een koffiezetapparaat. Hiermee breid je de functionaliteit van je bestaande spullen uit zonder dat je grote investeringen hoeft te doen, waardoor je direct de voordelen merkt van een slim huis.

Beveiliging en sensoren voor extra gemak

Nu de basis staat, kun je kijken naar eenvoudige sensoren die het dagelijks leven makkelijker maken zonder dat ze opvallen. Een bewegingsmelder in de gang of een deursensor bij de voordeur zorgt ervoor dat je nooit meer in het donker hoeft te zoeken naar een lichtknopje als je met je handen vol thuiskomt. Deze kleine apparaten werken vaak op batterijen en zijn binnen enkele minuten geïnstalleerd met een eenvoudige plakstrip. Je kunt ze direct koppelen aan de verlichting die je eerder die middag hebt opgehangen. Zo creëer je in korte tijd een samenhangend systeem dat reageert op jouw aanwezigheid en de veiligheid in huis direct verhoogt door ongewenste bewegingen te signaleren.

Populaire merken voor smarthome

Voor wie op zoek is naar een vliegende start, zijn er verschillende fabrikanten die uitblinken in gebruiksgemak en betrouwbaarheid. Philips Hue is al jaren de standaard voor verlichting vanwege de stabiliteit en de enorme keuze aan lichtscènes. Als je liever een breder assortiment zoekt tegen een toegankelijke prijs, dan biedt IKEA met de Home Smart-lijn uitstekende oplossingen die goed samenwerken met andere grote ecosystemen. Google Nest is een sterke keuze voor wie een centraal punt zoekt in de vorm van slimme schermen en speakers met een krachtige spraakassistent. Voor de gebruikers die graag alles van verschillende merken aan elkaar willen knopen, is het Nederlandse Homey een interessant merk dat bijna alle protocollen ondersteunt in één handige interface.