‫Ik wil een vraag beantwoorden die je misschien wel of niet hebt, maar het is iets
‫dat me jaren heeft gekost om het te begrijpen, en dat is waarom niet alles gewoon als globale variabelen hebben?
‫Ik bedoel, al die verwarring over wie toegang heeft tot wie, hoe gemakkelijk zou het zijn als alles
‫gewoon op de hoofdpagina stond, al onze informatie, alle gegevens over onze wereldwijde reikwijdte, zodat alles toegang heeft
‫tot alles.
‫Zou dat niet makkelijker zijn?
‫En je zou een beetje gelijk hebben.
‫Ik bedoel, dat zou al deze hoofdpijn doen verdwijnen, toch?
‫Maar je moet onthouden dat machines geen oneindige kracht hebben, geen oneindige CPU, geen
‫oneindig geheugen, ze hebben allemaal beperkte middelen.
‫En als programmeurs moeten we ons bewust zijn van welke bronnen we gebruiken, want soms kan dat ons geld kosten,
‫soms kan dat onze computers laten crashen.
‫En reikwijdte is hier een geweldige demonstratie van.
‫Bijvoorbeeld, deze code hier, wanneer deze functie wordt uitgevoerd, creëren we technisch gezien slechts één
‫locatie in het geheugen voor de X-variabele.
‫Dus we hebben die boekenplank in onze computer die X is en die naar lokaal wijst als we deze functie daadwerkelijk
‫aanroepen.
‫En als we hier niet-lokaal zeggen, nou, dan bedoelen we gewoon geen nieuwe boekenplank voor ons maken.
‫Gebruik gewoon degene die we al hebben en wijs deze niet-lokaal toe.
‫Als we deze regel niet hadden, hebben we tegen de tijd dat we bij regel zeven komen, X in het geheugen geplaatst die gelijk is aan
‫lokaal en X gelijk is aan niet-lokaal.
‫We hebben nu dus twee locaties in het geheugen.
‫Dit is niet erg, want in deze tijd hebben we veel geheugen.
‫Maar naarmate programma's groter en groter worden, wordt dit een beetje een probleem.
‫Oké, maar hoe zit het met een functie?
‫Ik bedoel, we hebben geleerd dat functies ons in staat stellen onszelf niet te herhalen en dat we meerdere keren kunnen
‫bellen.
‫Maar een ander goed gebruik van functies is dat zodra we deze functie hebben aangeroepen en dit allemaal is
‫gedaan, de computer en de Python-interpreter specifiek al dit geheugen vernietigen.
‫Dat wil zeggen, als we eenmaal klaar zijn met de buitenste functie, kan ik print X hier niet echt aanroepen.
‫Het gaat me een fout geven.
‫Het gaat om te zeggen dat ik geen idee heb wat er bestaat.
‫En waarom is dat?
‫Het is omdat nadat we deze functie hebben aangeroepen, de python zal heten, de vuilnisman gaat zeggen, hey, het lijkt
‫erop dat we klaar zijn met deze functie.
‫En ik zie dat deze X-variabele goed is, en deze X-variabele die we niet gaan gebruiken omdat we klaar zijn met
‫deze functie.
‫Dus ik ga dat afval verzamelen en dan gewoon weggooien.
‫Dus ik ga die geheugenkast leegmaken zodat andere bronnen of andere programma's dat kunnen gebruiken.
‫En dat is echt een leuke functie waarbij Python deze gewoon automatisch voor je verwijdert, zodat je het geheugen
‫van de computer niet verstopt.
‫En daarom is SCOP handig.
‫We hoeven er niet zo gedetailleerd over na te denken als ik het heb genoemd, maar het is fijn
‫om te weten dat het er is, zodat je programma's niet veel geheugen in beslag nemen en ze efficiënt kunnen werken.
‫Dit is een beetje een geavanceerd onderwerp, maar ik wilde het hier wel opnemen, zodat je kunt nadenken
‫over waarom programma's zijn ontworpen zoals ze zijn.
‫Oke.
‫Ik stop nu met praten.
‫Ik zie je in de volgende video.
‫Tot ziens.