Waarom zou je Python leren en wat kun je met Python?

Noud van Kruysbergen
0

De programmeertaal Python is erg populair, maar waarom zou je Python leren behalve dat? Ontdek wat de voordelen zijn van Python en wat je allemaal kunt doen ermee.

Een moderne programmeertaal als Python bespaart je de zorgen over foutbronnen (zoals onzinnige geheugenadressen en dubbel vrijgemaakt RAM).

Program­meren met ­Python is niet alleen sneller en vergt minder code, maar de taal stelt je in staat je volledig te concentreren op het algoritme – zonder dat je je bijvoorbeeld moet afvragen wat elke instructie doet met de registers van de cpu.

Dit zijn voordelen die ook andere moderne programmeertalen zoals Swift hebben, maar waarom zou je Python leren van alle talen die er zijn?

waarom zou je Python leren

Waarom zou je Python leren?

Python heeft verschillende belangrijke voordelen:

  • Python-code is goed te lezen, makkelijk te begrijpen, esthetisch en vooral kort.
    Die kenmerken zijn aantrekkelijk voor ontwikkelaars, wat de reden is waarom de taal de afgelopen tien jaar steevast bij de populairste vier is beland op RedMonks ranglijst, met GitHub en Stack Overflow als bronnen.
  • Een belangrijke factor voor het succes van Python is ook zijn veelzijdigheid.
    De beknopte en efficiënte syntaxis maakt Python geschikt voor korte scripts en experimenteren op de interactieve console.
  • Aangezien Python zelf in C geprogrammeerd is, zijn er Python-­wrappers voor de meeste bibliotheken die in C geschreven zijn.
    Door daarop mee te liften, gaan programmeerexperimenten met Python bijzonder snel – wat de reden is dat Python in de wetenschap populair is. En omdat iets vaak blijft hangen als het geïmproviseerd is, blijft veel Python-code van het prototype ­achter in het latere product.
  • Op de Raspberry Pi is Python dé taal bij uitstek voor elektronicaprojecten en bij Docker-containers stuurt de taal webapplicaties aan.

Op het gebied van machine-learning zie je dat Python populair is in de wetenschap: alle grote AI-frameworks bieden in de eerste plaats een Python-interface en data-science wordt voornamelijk in Python gedaan. Met een online omgeving zoals Jupyter Notebooks kun je experimenten visualiseren, terwijl de rekenkracht uit de cloud komt.

Alleen spelletjes ­(afgezien van minigames met Pygame) en smartphone-­apps worden niet met Python geprogrammeerd. Ondanks die twee uitzonderingen: geen andere programmeertaal is zo veelzijdig als Python. Python is een taal voor iedereen!


Ontvang gratis informatie en tips over Python, schrijf je in voor de nieuwsbrief:


Nadelen van Python?

Het gemak van Python heeft een prijs: Python-code doet er ongeveer 100 keer langer over om dezelfde taak uit te voeren dan een C-programma. Dat klinkt als een geweldig probleem qua rekentijd, maar is in de praktijk nauwelijks een beperking.

Als je bijvoorbeeld grote hoeveelheden gegevens door de vectoreenheden van je multicore-cpu wilt jagen, moet je sowieso al geoptimaliseerde bibliotheken gebruiken. Voor Python zou dat bijvoorbeeld NumPy kunnen zijn, dat uitstekend geoptimaliseerd is en de code van de overgrote meerderheid van C-ontwikkelaars moeiteloos inhaalt. Zoals je bij de voordelen kon lezen zijn er Python-­wrappers voor de meeste bibliotheken die in C geschreven zijn.

Wat kun je allemaal met Python?

Je kunt bijna alles met Python, zoals we hierboven aangeven. Als je je nog afvraagt ‘Waarom zou je Python leren?’ vind je hier verschillende toepassingsdoeleinden. Die geven je een nog beter idee van de flexibiliteit die je met Python kunt halen. Of het nu gaat om het automatiseren van servers met Python, het opleuken van je Raspberry Pi, het visualiseren van gegevens met Jupyter Notebooks of het nieuw leven in­blazen van je webproject met Django.


Automatiseren met Python-scripts

Er is veel te automatiseren in het dagelijks leven (niet alleen als systeem­beheerder) – en Linux, Windows en mac­OS kunnen elk met hun eigen scripts worden aangestuurd. Maar Bash voor Linux is niet bepaald intuïtief, BAT-bestanden onder Windows zijn niet bepaald flexibel en de syntaxis van PowerShell is niet voor iedereen even geschikt. Python is een waardig alternatief voor kleine en grote taken en gedraagt zich bijna hetzelfde op verschillende besturings­systemen.

automatiseren met Python scripts

Als je bijvoorbeeld dingen auto­matisch van inter­net wilt down­loaden, kun je een overzichtelijk en makkelijk te onder­houden script in Python schrijven met http.client in plaats van te klooien met ellendig lange curl-commando’s. Als de eisen toenemen, zijn de bibliotheken requests, json en yaml beschikbaar. Zij kunnen zelfs de meest exotische HTTP-requests afhandelen en de belangrijkste opmaakformaten voor configuratie­bestanden lezen en schrijven. Met dergelijke krachtige tools en de flexibiliteit van een volwaardige programmeertaal kan een script in een mum van tijd tientallen configuratiebestanden wijzigen. En met subprocess kan Python elk commando makkelijk uitvoeren waar anders een console voor nodig zou zijn.

Voor het dagelijkse systeembeheer kun je automatisering verder door­voeren met Python. De populaire automatiseringstool Ansible is bijvoorbeeld geschreven in Python en bestuurt servers met behulp van herhaalbare recepten. Je hoeft je met de Python-code ­achter de schermen alleen bezig te houden wanneer je je eigen modules wilt schrijven. Er zijn dan geen grenzen aan wat je kunt auto­matiseren.


Waarom zou je Python leren: voor Raspberry Pi’s

Python en de Raspberry Pi gaan hand in hand. Python zit niet alleen in de circuits, maar ook in de naam: Pi is een afkorting van Python Interpreter.

Een Pi kan worden gebruikt om de eerste programmeerervaring in Python op te doen en snel zichtbare resultaten te produceren zoals knipperende leds. Of het nu gaat om de grote Rasp­berry Pi, de Pi Zero of de piep­kleine Pi Pico: ­Python is de tool bij uitstek als het gaat om programmeren met betrekking tot hardware. Dat is vooral te danken aan de ontelbare biblio­theken: de Python-community, maar ook componenten­fabrikanten als Adafruit en SparkFun, bieden die kant-en-klaar aan om te downloaden. Daarmee kun je servo­besturingen, OLED-displays, stappen­motoren en nog veel meer aansturen.

Python voor Raspberry Pi

Dat maakt niet alleen de eerste stappen in Python makkelijker, ervaren programmeurs profiteren ook van het grote aantal bibliotheken. Zij hoeven zich geen zorgen te maken over de juiste timing van de GPIO-pinnen om een sensor aan te sturen, maar kunnen zich concentreren op de hoofdzaken en het verwerken van de gegevens. Met MicroPython op een Pi Pico kun je ook eenvoudig programma’s van de Pi overzetten naar een microcontroller zonder dat je een nieuwe programmeertaal hoeft te leren.


Gegeven analyseren en visualiseren met Python

Ook grote hoeveelheden gegevens kunnen worden verzameld, verwerkt, geanalyseerd en gevisualiseerd met behulp van Python-scripts. Zo kunnen ruwe gegevens over de coronabesmettingen tot aantrekkelijke diagrammen worden verwerkt, kunnen serverlogs en laboratorium­gegevens worden geanalyseerd of kan worden nagegaan welke onder­werpen in een tekstverzameling bijzonder vaak voorkomen.

analyseren en visualiseren van gegevens met Python

Met de juiste bibliotheken kan ­Python zowel met SQL-databases als met REST-API’s communiceren en alle dataformaten inlezen – of je schraapt gewoon zelf de teksten en getallen op internet bij elkaar. Bij de volgende stap ­helpen de biblio­theken NumPy en Pandas bij het opschonen en analyseren van de gegevens. Matplotlib en Plotly genereren grafieken, interactieve diagrammen en live-dashboards.

Veel studenten en onderzoekers schrijven hun Python-scripts in de programmeeromgeving Jupyter Note­book. Daarin worden uitvoerbare code­fragmenten en gevisualiseerde resul­taten vermengd met teksten voor documentatie en interpretatie. Jupyter Notebooks zijn ook ideaal om samen aan een project te werken of om je resultaten aan collega’s te presenteren.
De meeste AI-onderzoekers publiceren hun code als Jupyter Notebooks. AI gaat bijzonder goed samen met Python omdat alle belangrijke frameworks voor het ontwikkelen van neurale netwerken op Python-code draaien. De resultaten van de experimenten vullen diagrammen die direct in dezelfde Notebook onder de code staan. De Notebooks zijn meestal te downloaden op GitHub, zodat veel AI-­experimenten ook door leken gereproduceerd kunnen worden.


Webontwikkeling met Django en Python

Voor zo’n beetje elke C-bibliotheek heeft iemand al wel een Python-wrapper geschreven. Dat Python profiteert van opensource software die gedurende tientallen jaren ontwikkeld is, is te zien aan grote frameworks als Django.

webontwikkeling met Django en Python

Het Django-webframework kan overweg met elke SQL-database, werkt met alle webservers en vertrouwt op de betrouwbaarste crypto-bibliotheken. Django is daarbij niet afhankelijk van externe structuren, omdat het framework alles zo inpakt dat het perfect past in de esthetiek en logische structuur van de Python-syntaxis.

Django-webapplicaties harmoni­seren uitstekend met moderne single-­page-applicaties, met Angular en React. Voor een snel resultaat is er ook een geïntegreerde template-engine. Het automatisch aangemaakte beheerback-end, dat Django met minimale inspanning uit de databasemodellen in elkaar zet, bespaart je een hoop tijd. Dankzij onproblematische Python-wrappers rond Mongo-DB en Redis kunnen de pres­taties ook makkelijk geoptimaliseerd worden.

Al met al betekent dit dat je met Django snelle webapplicaties kunt ontwikkelen die een logische structuur hebben waarvan de code begrijpelijk blijft en die op een modulaire manier getest kunnen worden. Django geeft je maximale vrijheid met de database­modellen en de links, waardoor de projecten uiteindelijk uitgebreide programma’s worden die bestaan uit tientallen bestanden in verschillende mappen. Voldoende tijd en een goede ontwikkel­omgeving zijn daarom ook nodig om met Django en Python aan de slag te gaan.


Meer over Python leren

Dit zijn belangrijke voorbeelden van wat je allemaal kunt met Python. Afhankelijk van wat je wilt programmeren, geven ze ook antwoord op de vraag ‘Waarom zou je Python leren?’

Installeren van Python is trouwens zo gebeurd:

Houd c’t magazine en deze website in de gaten voor meer tips en informatie over Python, of schrijf je in voor de nieuwsbrief.


Ontvang gratis informatie en tips over Python, schrijf je in voor de nieuwsbrief:


(Deze informatie is afkomstig uit het artikel in c’t 5, 2022, pagina 87, van Wilhelm Drehling, Pina Merkert en Noud van Kruysbergen)

Lees uitgebreide informatie en tips op je gemak in c't magazine mei/2022

Deel dit artikel

Lees ook

Wat is het gevaar van TikTok – ontdek hoe TikTok werkt

Ontdek meer over de gratis TikTok app, het verdienmodel en de risico's. Onderken het gevaar van TikTok en weet je wat je ermee kunt.

Hoe kun je een goede zakelijke laptop kiezen om mee te werken?

Waar moet je op letten bij een goede zakelijke laptop kopen om mee te werken? We geven tips en handvatten om de beste laptop te vinden.

Interessant voor jou

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er