Workshop python waarin een publieke API geraadpleegd wordt

Wat gaan we zien in deze workshop ?

Er wordt gebruik gemaakt van python en een publieke API in deze workshop. Over de workshop heen gaan er enkele zaken overlopen worden. Eerst zal er een korte introductie komen van de programeertaal python. Vervolgens wordt er een connectie gemaakt met de publieke API. Wanneer dit allemaal gelukt is zijn er enkele oefeningen die het gebruik van de API beoefenen.

In de workshop gaan we gebruik maken van de IMDB API en visual studio code voor het programmeren.

Python

pythonLogo

Python is ontwikkeld met het oog op leesbare code. Hieruit vloeit haar "zuivere" stijl voort. Met weinig woorden kan men veel zeggen. Dit uit zich op verschillende manieren. Structuur wordt aangebracht door indentatie (regelinspringing) in plaats van bijvoorbeeld de accolades uit C-achtige talen. Statements (vergelijkbaar met zinnen uit gewone taal) worden simpelweg beƫindigd door het eind van de regel.

Python implementeert het zogenaamde duck-typing. Dit houdt in dat het type van een variabele en het type van een argument van bijvoorbeeld een functie niet gedefinieerd hoeft te worden. Bij compilatie vindt (dus) ook geen typecontrole plaats.

Application programming interface (API)

Een API is een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel (meestal in de vorm van bibliotheken). Vaak vormen API’s de scheiding tussen verschillende lagen van abstractie, zodat applicaties op een hoog niveau van abstractie kunnen werken en het minder abstracte werk uitbesteden aan andere programma’s.

Hierdoor hoeft bijvoorbeeld een tekenprogramma niet te weten hoe het de printer moet aansturen, maar roept het daarvoor een gespecialiseerd stuk software aan in een bibliotheek, via een afdruk-API.

Soms wordt als synoniem voor API de benaming bibliotheek gebruikt, maar dit is niet helemaal juist: een API vormt de toegang tot de bibliotheek. De API is daarbij de definitie van functies en andere objecten die in de bibliotheek beschikbaar zijn voor de applicatie