‫Welkom terug.
‫Laten we proberen een aantal vragen te beantwoorden die u mogelijk heeft, bijvoorbeeld hoe zit het met parameters?
‫Als ik parameter doe, laten we zeggen hier zijn, wat is deze parameter als ik B op deze manier gebruik?
‫Dus laten we zeggen afdrukken.
‫B en hier zal ik verwarring zaaien met, laten we zeggen, het getal driehonderd als ik dit doe.
‫Dit werkt.
‫En dat komt omdat be the parameter deel uitmaakt van het lokale bereik, dat wil zeggen dat het hier deel van uitmaakt.
‫Parameters worden dus als lokale variabelen beschouwd.
‫We kunnen het binnen de functie gebruiken, maar we kunnen het buiten die functies gebruiken.
‫Technisch gezien, wanneer we de functie definiëren, laten we de interpreter weten, hey, B wordt een lokale
‫variabele.
‫Oké, hoe zit het hiermee?
‫Wat als we dit hebben, hè?
‫Maar ik wil er zeker van zijn dat ik binnen mijn functie verwijs naar de globale A. Is
‫er een manier waarop we deze waarde kunnen gebruiken zonder een nieuwe variabele te maken?
‫Laten we hiervoor een beter voorbeeld gebruiken.
‫Laten we zeggen dat ik een teller wilde maken.
‫Dus we hebben totaal gelijk aan nul.
‫En dan hier naar binnen.
‫Ik ga zeggen definieer het aantal.
‫En deze functie gaat totaal zeggen.
‫Plus is gelijk aan één.
‫Dus we gaan elke keer optellen als we het aantal optellen, het gaat nul met één verhogen en
‫dan één voor één, enzovoort, enzovoort.
‫Dus we gaan het totaal aan het einde hiervan teruggeven.
‫Oké, dus als ik hierheen ren, print dan.
‫Graaf.
‫Laten we afwachten wat er gebeurt.
‫Ik ga rennen.
‫En ik krijg een andere lokale variabele totaal waarnaar wordt verwezen vóór de toewijzing, en dat is omdat, nou ja, Count weet
‫het totaal niet.
‫Je probeert totaal te gebruiken, maar we hebben nog niets toegewezen.
‫Maar we willen dat het totaal van de buitenwereld loopt, want als ik het gewoon doe, is het totaal hier gelijk aan nul
‫en loop ik tel.
‫Dat is geweldig, ik krijg er een, maar wat als ik meerdere keren zou willen tellen?
‫Wat als ik wilde gaan tellen?
‫Laten we zeggen drie keer, zodat het totaal drie wordt.
‫Dus laten we de laatste hier afdrukken.
‫En ik klik op uitvoeren.
‫Ik krijg er nog steeds een omdat elke keer dat we de functie uitvoeren, we het totaal op nul zetten.
‫Dat is niet erg handig, toch?
‫Dus een manier om dit op te lossen, is door gebruik te maken van wat we het globale sleutelwoord noemen in Python en global zegt:
‫gebruik het globale totaal als het hier bestaat, zodat ik in plaats van een nieuwe variabele te maken, het
‫globale variabele totaal kan gebruiken.
‫Bekijk dit eens.
‫Nou, ik krijg een ongeldige syntaxis, en dat is omdat we eerst moeten zeggen dat het globale totaal hier zal
‫worden gebruikt en dan kunnen we zeggen dat totaal plus gelijk is aan één als ik dit uitvoer.
‫Kijk daar eens naar, we hebben een goede teller, dus globaal is een manier voor ons om toegang te krijgen tot deze globale variabele.
‫Ik beargumenteer echter dat dit eigenlijk geen goede manier is om dingen te doen, omdat het erg verwarrend kan worden
‫als je Global's begint toe te voegen en al deze verschillende universums toegang hebben tot elkaars variabelen. Een betere
‫manier om dit te doen is iets dat afhankelijkheidsinjectie wordt genoemd, en dit is een vereenvoudigde versie ervan.
‫Maar het idee is dat in plaats van toegang te krijgen tot variabelen buiten de functie op deze manier, wat heel, heel
‫ingewikkeld kan worden naarmate bestanden groter en groter worden, het te doen is.
‫In plaats daarvan dit.
‫Totaal.
‫Op deze manier maken we een parameter en geven we die parameter door.
‫Of ruzie hier.
‫Maar zoals je kunt zien, is het nog steeds één, want tegen de tijd dat we het derde totaal afdrukken, verandert dit
‫nooit.
‫Dit is een globale nul.
‫Dus in plaats daarvan kunnen we zoiets als dit doen, we kunnen zeggen tel totaal, waarvan we opnieuw gaan
‫tellen.
‫En dan nog eens tellen.
‫Als ik dit uitvoer.
‫Ik krijg er drie en ik weet wat je denkt, dit is compleet krankzinnig, het ziet er verwarrend uit.
‫Kijk naar al deze haakjes.
‫Maar laat me je laten zien wat we echt hebben gedaan.
‫We zijn in staat om de afhankelijkheid of het effect dat dit niet kan functioneren op de buitenwereld los te laten en ons in plaats
‫daarvan te concentreren op de gezondheid ervan.
‫Het enige wat we hoefden te doen was zeggen, hé, ik wil dat je een telling geeft met een totaal van nul.
‫En daarna, dit gaat twee één evalueren.
‫En dan tellen we in totaal één plus één wordt gelijk aan twee en dan wordt tellen twee plus
‫één gelijk aan drie.
‫Op deze manier kunnen we nog steeds onze telling doen zonder dat algemene trefwoord te hoeven gebruiken, wat volgens mij
‫leuker is.
‫Let op, als dit de eerste keer is dat je dit ziet, kan het een beetje lastig worden.
‫Maar op deze manier weet je tenminste dat er verschillende manieren zijn om dingen te doen.
‫Een ander woord dat ik je wil laten zien, is iets dat niet-lokaal wordt genoemd.
‫Maar laten we voor die ene een pauze nemen en ik zie je in de volgende video.