8. Functies
In hoofdstuk 5 beschreef ik hoe je eenvoudige functies kunt gebruiken, en hoe je functies kunt importeren uit modules. Dit hoofdstuk beschrijft hoe je je eigen functies en modules kunt creëren. Als je niet meer weet wat hoofdstuk 5 over functies zei, doe je er goed aan om dat hoofdstuk nogmaals door te nemen.
Hoofdstukken
📄️ 8.1 Het nut van functies
Waarom zou je functies willen creëren? Er zijn een hoop goede redenen:
📄️ 8.2 Het creëren van functies
Hoofdstuk 5 beschrijft hoe iedere functie een naam heeft, nul of meer parameters, en mogelijk een retourwaarde. Als je je eigen functies maakt, moet je al deze elementen definiëren. Je gebruikt de volgende syntax:
📄️ 8.3 Scope en levensduur
Scope (dat vertaald kan worden als "bereik," maar dat een zo'n verwarrende vertaling dat hij niet gebruikt wordt) refereert aan "zichtbaarheid." Specifiek, waar het variabelen betreft, refereert het aan in welke delen van een programma een variabele zichtbaar is en gewijzigd kan worden. Levensduur refereert aan hoe lang een variabele in het geheugen van de computer blijft. Levensduur is gerelateerd aan scope.
📄️ 8.4 Grip krijgen op complexiteit
Stel dat Python geen ingebouwde functies max() en min() zou hebben, en je hebt geen kennis van wat er in de hoofdstukken hierna volgt. Ik geef je de volgende opdracht:
📄️ 8.5 Modules
Het maken van een module is eenvoudig. Je maakt gewoon een Python bestand, met de extensie .py, en plaatst er de functies in die je in de module wilt hebben. Je kunt dit Python bestand dan importeren in een ander Python programma (je gebruikt gewoon de naam van het bestand zonder de extensie .py; het bestand moet in dezelfde folder als het programma staan, of in de folder waar Python altijd zoekt naar modules), en je kunt de functies gebruiken op dezelfde manier als je functies uit de reguliere Python modules gebruikt, dat wil zeggen, je kunt ofwel specifieke functies uit de module importeren, ofwel de hele module importeren en de functies gebruiken via de .() syntax.
📄️ 8.6 Anonieme functies
Het concept "anonieme functies" mag je als optioneel materiaal beschouwen: anonieme functies worden niet vaak gebruikt en zijn nooit nodig. Maar om het verhaal over functies compleet te krijgen, bediscussieer ik ze hier.
📄️ Opgaven
Wat je geleerd hebt