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.

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)

 


Blijf op de hoogte van de nieuwste informatie en tips!
Schrijf je in voor de nieuwsbrief:


 

Lees uitgebreide achtergrond info en praktische workshops op je gemak in c't jan-feb/2021

Meer over

AISoftware

Deel dit artikel

Lees ook

Minder verbruik, lawaai en warmte: undervolten

In je thuiskantoor  wil je dat je IT-apparatuur je werkkamer zo min mogelijk laat opwarmen en ventilatoren niet langdurig op volle toeren draaien. Dat...

Glasvezelnetwerk in huis

Als je voortdurend grote bestanden naar of van een centrale server kopieert, moet je vaak geduld hebben. Het kan de overweging waard zijn om dan een g...

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