Python programmeren – flexibele en begrijpelijke programmeertaal

Marco den Teuling
1

Er zijn erg veel programmeertalen. Dat maakt kiezen lastig voor wie met programmeren begint of een andere taal wil aanleren. In Python programmeren is een van de opties.

Python-code is kort en begrijpelijk. Experimenteren gaat snel met de interpreter, terwijl programma’s vergeleken met C trager werken. Desondanks ontwerpen AI-onderzoekers er snelle neurale netwerken mee.

Python programmeren

Ontwikkelaars die begrijpelijke code willen schrijven worden enthousiast van Python. Goed voor het overzicht: inspringingen in plaats van haakjes definiëren blokken. Elke regel bevat slechts één commando zonder puntkomma. Vooral compacte en leesbare code wordt beschouwd als ‘pythonic’ en krijgt lof van de gemeenschap. Tegelijkertijd kun je alles programmeren met Python, van bash-script-vervangers tot grafische desktopprogramma’s tot neurale netwerken – Python kan het allemaal!

Het programma python interpreteert de code direct, zodat je compileren naar machine­code kunt overslaan. Daarom is Python bijzonder geschikt voor programmeerexperimenten. Python-code is snel geschreven en snel getest. python zonder argumenten start een interactieve console die de ingetypte regels meteen uitvoert – ideaal om te testen of een verklaring werkt zoals bedoeld. Dat gaat nog handiger met Jupyter Notebooks in de browser, die ook tekst en afbeeldingen weergeeft en al enkele GUI’s overbodig heeft gemaakt.

De prijs die je betaalt voor die interpreter is de verwerkingssnelheid: hetzelfde algoritme duurt met Python tot 100 keer langer dan met C. Python zelf en de meeste bibliotheken zijn daarom in C geschreven en bieden slechts een ‘pythonic’ interface. In het dagelijks leven kun je dat zien aan het feit dat Pythons package-manager pip vaak de C-compiler van het systeem start en stopt als hij die niet kan vinden.

Python code voorbeeld

Ongebruikelijk: Python gebruikt inspringingen in plaats van accolades om blokken binnen de code aan te geven. Programma’s zijn daardoor makkelijk leesbaar.

Gezien de traagheid is het verrassend dat Python de taal is van AI-onderzoekers. Die gebruiken frameworks zoals Caffe en TensorFlow, die hun berekeningen automatisch optimaliseren voor de beschikbare hardware en bijvoorbeeld de CUDA-compiler starten om te rekenen op de grafische kaart. Om de resultaten te evalueren, maken wetenschappers gebruik van geoptimaliseerde frameworks zoals Numpy en Pandas. Het feit dat slechts enkele regels Python de complexe berekeningen starten en beheren is uiteindelijk niet relevant voor de runtime. Het gemak bij het experimenteren is er echter wel.


Krijg gratis info over Python, programmeren en meer, schrijf je in voor de nieuwsbrief


In het algemeen is er voor bijna elke C-­bibliotheek een Python-wrapper. Daardoor lijkt het alsof elke truc waartoe een computer in staat is ook deel uitmaakt van Python. Je benut daarbij het werk van de vele ontwikkelaars die hun oplossingen allang in bibliotheken verpakt hebben. De juiste documentatie wordt meestal bewaard op het web bij readthedocs.org.

Een serie artikelen over verschillende andere talen vind je in c't sep/2020

Voor wie?

Python wordt aanbevolen voor beginners. De taal laat elk soort programma toe en je kennis groeit met elk nieuw project. Zelfs voor functioneel of probabilistisch programmeren hoef je de Python-wereld niet te verlaten. Python is ook de standaard programmeertaal voor de Raspberry Pi.

Bij machine-learning hoef je sowieso geen andere taal te proberen: de Python-API is altijd de meest complete en wijdverbreide interface bij TensorFlow en aanverwanten.

Er zijn frameworks voor alles: met Django kun je grote webapplicaties maken en met Flask kun je snel HTTP-microservices in ­Python schrijven.

Het juiste webfront-end moet echter worden geschreven met een JavaScript-framework zoals React, omdat browsers geen ­Python begrijpen. Apps voor iOS en Android kun je ook beter schrijven in Swift of Kotlin. Er is echter niets tegen op desktoptoepassingen in Python.

Python is als een Zwitsers zakmes, met een langzame interpreter, wat meestal kan worden gecompenseerd door bibliotheken. De community hecht belang aan esthetiek en begrijpelijkheid, wat prettig is voor zowel beginners als professionals.

(Pina Merkert en Marco den Teuling, c’t magazine 9/2020, p. 87)

Lees uitgebreide achtergrond info en praktische workshops op je gemak in c't magazine nov/2021

Meer over

AISoftware

Deel dit artikel

Lees ook

Oktober beveiligingsupdates Microsoft: nog steeds printerproblemen

Ook de beveiligingsupdates van 12 oktober van Microsoft bieden geen definitieve oplossing voor de printerproblemen met netwerkprinters.

September beveiligingsupdates van Microsoft geven printerproblemen

Beveiligingsupdates van 14 september tegen de kwetsbaarheden in Microsofts "PrintNightmare"- kunnen nieuwe printerproblemen veroorzaken.

Interessant voor jou

1 Praat mee
avatar
  Abonneer  
nieuwsteoudste
Laat het mij weten wanneer er
Harry
Lezer
Harry

Wil je nog eenvoudiger leren programmeren, dan kun je de demo
van http://www.Svercode.com downloaden. Uiteraard beperkter dan Python maar wel leerzaam.
Met de uitgebreide versie kun je ook dingen besturen via de UBW32 interface
met weinig programmeerkennis die later nog komt.

https://www.youtube.com/channel/UCwbasbg_LNWkeaRXDD5uLAA