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
Zo verklein je mappen en schijven met NTFS-compressie in Windows 11
© ID.nl
Huis

Zo verklein je mappen en schijven met NTFS-compressie in Windows 11

Heb je een pc met weinig opslagruimte dan loont het wellicht om in Windows 11 de bestandscompressie in te schakelen. Dan hebben we het niet over zip-archieven, maar de NTFS-compressie waarmee je bestanden, mappen en zelfs volledige schijven kunt verkleinen.

Dit gaan we doen

In dit artikel ontdek je hoe je NTFS-compressie inzet om mappen of een volledige schijf kleiner te maken. Je ziet waar je de optie vindt in Windows Verkenner, welke stappen je doorloopt en wanneer deze methode wel of niet zin heeft. Ook leggen we uit hoe je een gecomprimeerde map herkent en hoe je de compressie later weer uitschakelt. Zo kun je bewuster omgaan met beperkte opslagruimte zonder je bestanden te hoeven verplaatsen.

Lees ook: Dit is er nieuw in de 25H2-update van Windows 11

Eerst een waarschuwing

Dankzij compressie is het mogelijk om meer data op te slaan op dezelfde ruimte. In Windows 11 kun je NTFS (New Technology File System) aanspreken. Het nadeel van deze methode is dat het extra rekenkracht vraagt iedere keer dat je zo'n gecomprimeerd bestand opent. Hetzelfde gebeurt wanneer je na de bewerking het bestand sluit en er recompressie wordt toegepast. Gebruik deze methode dus voor data die je lange tijd niet gebruikt en waar extra laadtijd nauwelijks hinderlijk is.

Je kunt op deze manier ook een volledige schijf comprimeren, maar we raden af om dit met de opstartschijf te doen. Gebruik deze functie niet op usb-sticks en alleen op snelle schijven zoals ssd's. Het prestatieverlies zou teveel doorwegen. Bij jpg-afbeeldingen of mp3- of mp4-mediabestanden is de winst verwaarloosbaar.

Een gecomprimeerde map herken je aan twee blauwe pijltjes in de rechterbovenhoek.

Map comprimeren

Open Windows Verkenner en navigeer naar de map waarvan je de inhoud wilt verkleinen. Klik met de rechtermuisknop op de map en in het snelmenu selecteer je Eigenschappen. Open het tabblad Algemeen en klik op Geavanceerd. Bij de Geavanceerde kenmerken zie je onderaan Compressie en versleutelingskenmerken. Plaats een vinkje bij Inhoud comprimeren om schijfruimte vrij te maken. Klik op OK en klik daarna op Toepassen.

Selecteer indien nodig de optie Wijzigingen toepassen op deze map, submappen en bestanden en klik op de OK-knop. Net zoals voorheen kun je zo'n map openen en de bestanden bekijken in Verkenner. Om de volledige map te decomprimeren, open je opnieuw de Eigenschappen en volg je de beschreven stappen.

Comprimeer de map via de Eigenschappen.

Station comprimeren

Het is mogelijk om een volledige schijf te comprimeren. Open Windows Verkenner en klik op Deze pc in het linkerdeelvenster. Klik met de rechtermuisknop op de opslagschijf die je wilt comprimeren. Selecteer onder het gedeelte Apparaten en stations de optie Eigenschappen. Daarna kun je opnieuw de optie aanvinken: Dit station comprimeren om schijfruimte te besparen.

Het is ook mogelijk om een volledig station te comprimeren.

Ook leuk:

Een stoomwals van Lego
▼ Volgende artikel
Review Ring Floodlight Cam Pro (2e gen) – Grondige tuinbewaking met 4K-beeldkwaliteit
© Ring
Zekerheid & gemak

Review Ring Floodlight Cam Pro (2e gen) – Grondige tuinbewaking met 4K-beeldkwaliteit

Ring heeft de tweede generatie van zijn Floodlight Cam Pro uitgebracht. De voornaamste verbetering van deze schijnwerpercamera is de 4K-beeldkwaliteit. Dankzij twee felle ledlampen leent dit product zich goed voor het bewaken van een grote buitenruimte, zoals een oprit of diepe achtertuin.

Goed
Conclusie

De Ring Floodlight Cam Pro (2e gen) heeft een heleboel voordelen, zoals een scherp beeld, twee felle verstelbare ledlampen, luide sirene en gebruiksvriendelijke app. Daarmee zijn alle ingrediënten aanwezig om op een laagdrempelige manier je tuin of oprit te bewaken. Daarentegen is de adviesprijs van 279,99 euro nogal fors. En daarmee ben je er nog niet, want voor het bewaren van opnames heb je een betaald Ring Home-abonnement nodig. Er bestaan als alternatief (veel) goedkopere floodlight-camera's met lokale opslag, al ondersteunen die veelal geen 4K-beeldkwaliteit.

Plus- en minpunten
  • Robuuste behuizing
  • App geeft zeer duidelijke instructies
  • Gebruiksvriendelijke montage
  • Accepteert 2,4GHz- en 5GHz-netwerken
  • Slimme meldingen
  • Slimme zoekfunctie
  • Felle richtbare schijnwerpers
  • Gedetailleerde opnames in 4K
  • 10× digitaal inzoomen
  • Luide sirene
  • Erg duur
  • Montage alleen op plek van bestaande lamp
  • Geen ondersteuning ethernet
  • Betaalde video-opslag in de cloud

Zodra we de productdoos openmaken, valt één ding meteen op. Ring levert geen voedingskabel of accu mee. De Ring Floodlight Cam Pro (2e gen) kun je namelijk alleen op de plek van een bestaande buitenlamp monteren. De IP65-gecertificeerde behuizing is grotendeels van kunststof. Desalniettemin voelt de constructie solide aan, dus die gaat niet zomaar stuk. Gunstig is dat je zowel de camera als beide schijnwerpers naar eigen wens kunt richten.

©Maikel Dijkhuizen

Behalve de bewakingscamera bevat de productdoos een montagebeugel, montagegereedschap en beveiligingssticker.

Montage

Voor de juiste montage-instructies ben je aangewezen op de Ring - Always Home-app. Overigens is dat geen straf, want duidelijke filmpjes en Nederlandstalige aanwijzingen loodsen je soepel door de installatieprocedure. Film de QR-code en volg vervolgens alle stappen. Een beetje kennis van elektra is trouwens geen overbodige luxe.

De fabrikant levert montagegereedschap mee, zoals pluggen, afdekdoppen en een schroevendraaier. Je hebt verder alleen nog maar een boormachine nodig. De montagebeugel bevat een kroonsteentje waarop je de gekleurde stroomdraden kunt aansluiten. Daarnaast heeft de montagebeugel een geïntegreerde waterpas, zodat je de beveiligingscamera helemaal recht hangt. Houd rekening met een ideale ophanghoogte van ongeveer drie meter.

©Maikel Dijkhuizen

Het aansluiten van de elektradraadjes op het geïntegreerde kroonsteentje is een precisiewerkje.

Configuratie

Na de montage volgt de configuratie in de Ring - Always Home-app. Je koppelt deze beveiligingscamera van Google binnen een mum van tijd aan een 2,4GHz- of 5GHz-netwerk. Vervolgens downloadt en installeert het apparaat op eigen houtje een firmware-update. Helaas kun je deze beveiligingscamera niet met een bekabeld netwerk verbinden. Zorg op de beoogde locatie dus voor voldoende wifi-dekking. Bij te weinig bandbreedte schakelt deze beveiligingscamera automatisch terug naar een lagere videokwaliteit.

Je geeft tijdens de configuratie optioneel andere gezinsleden toegang tot de camera. Bepaal ook welke slimme meldingen je wilt ontvangen. Na detectie van personen, voertuigen en andere bewegingen stuurt de Floodlight Cam Pro je desgewenst pushnotificaties. Hierbij stel je zelf de gevoeligheid van de bewegingssensor en detectiezone in. Je kunt ook nog gebieden blokkeren, zodat je bijvoorbeeld geen activiteiten in een naburige tuin vastlegt.

©Maikel Dijkhuizen

Neem even de tijd om alle stappen van de uitgebreide configuratie door te nemen.

Opnemen in 4K

De maximale videokwaliteit van 3840 × 2160 pixels betaalt zich uit, want de beelden zijn zeer scherp. Zo'n hoge resolutie is voor bewakingsdoeleinden eigenlijk niet per se nodig, al biedt het wel degelijk voordelen. Na maximaal 10× inzoomen zijn nummerborden namelijk nog goed leesbaar. Met een behoorlijk brede kijkhoek van 140 graden (horizontaal) bewaak je probleemloos een grote tuin of oprijlaan.

In het donker hebben de twee schijnlampen met een totale lichtopbrengst van 2000 lumen veel meerwaarde. Je ziet 's avonds en 's nachts op grote afstand precies wat er bij jouw woning gebeurt. Daarbij fungeert de Floodlight Cam Pro ook nog als veredelde buitenlamp. Voor een beveiligingscamera heeft dit model een luide sirene. Wie weet schrikt dat insluipers af. Dankzij ondersteuning voor tweewegaudio kun je op afstand een gesprek starten.

Je kijkt in de app eenvoudig opnames terug. Met behulp van de kalender en duidelijk vormgegeven tijdlijn bepaal je welk moment je wilt terugzien. Er is ook een slimme zoekfunctie ingebakken, zodat je met specifieke trefwoorden als 'hond', 'pakket' en 'rode auto' relevante opnames kunt vinden. Een nadeel is dat Ring-beveiligingscamera's geen lokale opslag ondersteunen. Wil je opnames van gebeurtenissen opslaan of 24/7 opnemen, dan heb je een betaald Ring Home-abonnement nodig.

©Maikel Dijkhuizen

De Ring Floodlight Cam Pro maakt scherpe opnamen.

Ring Floodlight Cam Pro (2e gen) kopen?

De Ring Floodlight Cam Pro (2e gen) heeft een heleboel voordelen, zoals een scherp beeld, twee felle verstelbare ledlampen, luide sirene en gebruiksvriendelijke app. Daarmee zijn alle ingrediënten aanwezig om op een laagdrempelige manier je tuin of oprit te bewaken. Daarentegen is de adviesprijs van 279,99 euro nogal fors. En daarmee ben je er nog niet, want voor het bewaren van opnames heb je een betaald Ring Home-abonnement nodig. Er bestaan als alternatief (veel) goedkopere floodlight-beveiligingscamera's met lokale opslag, al ondersteunen die veelal geen 4K-beeldkwaliteit.

Lees ook: Bedraad of draadloos: wat is de beste slimme deurbel voor jou?