Het is tijd om over functies te praten.
Dit is waar dingen echt interessant worden, want tot nu toe hebben we functies gezien die functies schrijven waarbij
dingen als print, zoals lijst Bolian, we zelfs de invoerfunctie zagen om de invoer te krijgen van wat de gebruikerstypen
ook waren en waarmee we acties konden uitvoeren op onze gegevenstypen.
Maar de echte kracht komt wanneer we kunnen beginnen met het creëren van onze eigen functies.
Dat klopt.
We zijn niet beperkt tot wat Python ons geeft.
We kunnen onze eigen functies maken en gebruiken in onze programma's.
Dus laten we leren hoe dat te doen.
De manier waarop we een functie maken in Python en functies bestaat trouwens in alle programmeertalen.
Ze zijn heel erg belangrijk.
Als we D. F. , waarmee de Python-interpreter weet dat we op het punt staan een functie te definiëren.
DSF is een afkorting voor definiëren.
Dus de tolk zal zeggen, oké, ze gaan een functie definiëren.
Wat wordt de functie?
Nou, we kunnen creëren wat we willen.
We gebruiken dezelfde naam voor het geval, zoals we doen met variabelen om onze functies te definiëren.
Laten we dus opnieuw een functie maken.
We noemen het hallo, gewoon een variabele die ik heb gemaakt.
Maar deze keer is het een functie omdat we het def-sleutelwoord nu hier gebruiken en hallo zeggen.
We voegen ook de haakjes toe om de interpreter te laten weten dat dit iets is waar we
actie op gaan ondernemen of dat dit een actie gaat uitvoeren op een gegevenstype.
We gebruiken dat, Colin, en binnen dit codeblok kunnen we print zeggen.
Hallo.
En dat.
Is een functie als ik op uitvoeren klik.
Hm, er is niets gebeurd.
Waarom is dat?
Welnu, we hebben de hallo-functie gemaakt, we hebben het gedefinieerd, en nu leeft het ergens in het geheugen op onze
machine.
Als u echter een functie wilt gebruiken, onthoud dan dat we, net zoals we de afdrukfunctie gebruiken, deze tussen
haakjes moeten aanroepen.
Dus nadat we een functie hebben gedefinieerd, zeggen we, zeg hallo.
En heb je gemerkt hoe mijn Reppel zodra ik zei, zeggen.
Zegt me eigenlijk hallo, komen, want ik heb het gemaakt en je ziet dit paarse vak dat laat zien dat
het een functie is, nou, we hebben het nu beschikbaar voor ons om te gebruiken, net zoals we de afdrukfunctie voor
ons beschikbaar hadden gebruiken.
Dus als ik zeg hallo en voer het uit met de haakjes en ik klik op uitvoeren.
Ik krijg hallo, hoe cool is dat trouwens, wat gebeurt er als ik het zonder de haakjes uitvoer en ik klik op uitvoeren?
Er gebeurt niets omdat, denk eraan, om een actie te ondernemen, we de tolk
moeten laten weten, hey, ik wil wegrennen, hallo zeggen.
De reden waarom functies zo krachtig zijn, is vanwege het principe waar we het over hebben gehad, toch?
Het idee van dry, wat staat voor do not repeat yourself-functies, is echt heel handig als je dingen
hebt die je steeds opnieuw wilt doen.
Bijvoorbeeld de hersenfunctie, die hebben we veel gebruikt.
Stel je voor dat we dat elke keer zelf zouden moeten coderen en zeggen wat de printfunctie doet.
Gelukkig geeft Python ons een afdruk omdat het zo'n handig hulpmiddel is.
Maar als we in ons programma meerdere keren hallo willen zeggen en je kunt je voorstellen dat dit eigenlijk een stuk
ingewikkelder is, misschien 10 regels code, in plaats van die tien regels code steeds opnieuw te schrijven, kan
ik het gewoon als een functie definiëren en gebruik het waar ik maar wil.
Onthoud dit bijvoorbeeld in mijn programma, waar we een foto hadden en een kerstboom printten.
Stel je voor dat we dit meerdere keren zouden willen uitvoeren, wel, om dat te doen, zou ik deze code kopiëren en
plakken.
En dan weer toegevoegd, en als ik op uitvoeren klik.
Ik heb nu twee kerstbomen, maar laten we daar eens naar kijken, zesentwintig regels code, ik kopieer
en plak het steeds weer hetzelfde met een functie.
We kunnen zoiets doen.
Ik kan zeggen definieer show.
Tre.
Colin, en we hebben nu een functie, maar onthoud, de inspringing in Python, de juiste inspringing is belangrijk.
We hebben de puntkomma.
We definiëren een functie.
Dus we moeten dat codeblok binnenin maken en zeggen, hey, wat hier ook ingesprongen is, dat maakt deel uit van
deze functie.
Dus nu we de showboom hebben, bekijk dit eens.
Ik kan zeggen toon boom, voer het opnieuw uit.
Laten we het misschien drie keer doen.
Als ik klik, ren dan weg.
Hoe cool is dat ik steeds weer hetzelfde kan doen door deze functie gewoon aan te roepen en dat is de
kracht van functies.
Functies stellen ons in staat om onze code droog te houden.
We herhalen onszelf niet en hergebruiken dingen die onze machines steeds opnieuw kunnen doen.
En het mooie is dat dit voor ons een herinnering blijft. Toon boom nu betekent iets voor dit programma omdat we
het hebben gemaakt.
We hebben dus onze eigen actie op maat die we kunnen ondernemen.
Wat gebeurt er als ik de showboom hier naar boven verplaats?
Nou, als ik dit doe.
Ik krijg een luchtnaam, luchtnaam, show drie is niet gedefinieerd.
Waarom is dat?
Nou, omdat onze tolk eerst regel voor regel gaat, zegt, oke, afbeelding is gelijk aan deze waarde.
En dan gaat het naar regel elf en zegt: rennen, laten zien, boom.
Maar we hebben nog geen show tree gedefinieerd.
Dus de python-interpreter gaat luchten en zegt, hey, ik heb geen idee wat show tree is.
Waar heb je het over?
In plaats daarvan moeten we bij een functie ervoor zorgen dat we de functies aan het begin definiëren.
Dus die Python-interpreter zegt, oké, show tree betekent nu dit.
Ik ga het niet runnen.
Ik ga het nog niet gebruiken.
Ik ga het gewoon in het geheugen bewaren.
En als ik eindelijk Show Tree tegenkom, weet ik dat het iets betekent.
Ik ga het uit het geheugen halen met behulp van show tree, en dan ga ik het uitvoeren met behulp van de haakjes.
Als ik bijvoorbeeld show tree print zonder iets, zonder de haakjes.
Als ik op uitvoeren klik.
Je ziet dat ik functie krijg, Shokri, op deze locatie, dit is alleen de locatie en
het geheugen, dit is de boekenplank waar we die showboomfunctie opslaan, heel erg cool.
En functies zijn een belangrijk, krachtig concept bij het programmeren.
En in de volgende video gaan we dit uitbreiden en een beetje meer onderzoeken.
Ik zie wel in de volgende.