Ich möchte eine Frage ansprechen, die Sie vielleicht haben oder nicht, aber
ich habe Jahre gebraucht, um sie zu verstehen, und deshalb nicht einfach alles als globale Variablen haben?
Ich meine, all diese Verwirrung, wer auf wen Zugriff hat, wie einfach wäre es, wenn alles nur
auf der Hauptseite wäre, all unsere Informationen, alle Daten zu unserem globalen Geltungsbereich, damit alles Zugriff auf
alles hat.
Wäre das nicht einfacher?
Und du hättest irgendwie recht.
Ich meine, das würde all diese Kopfschmerzen verschwinden lassen, oder?
Aber Sie müssen sich daran erinnern, dass Maschinen keine unendliche Leistung haben, keine unendliche CPU haben, keinen
unendlichen Speicher haben, sie alle haben begrenzte Ressourcen.
Und als Programmierer müssen wir uns bewusst sein, welche Ressourcen wir verwenden, denn manchmal kann uns das Geld kosten, manchmal
kann das unseren Computer zum Absturz bringen.
Und der Umfang ist ein großartiger Beweis dafür.
Zum Beispiel, dieser Code hier, wenn diese Funktion ausgeführt wird, erstellen wir technisch gesehen
nur einen Speicherort für die X-Variable.
Wir haben also dieses Bücherregal in unserem Computer, das X ist, das auf local zeigt, wenn wir diese Funktion tatsächlich
aufrufen.
Und wenn wir hier nicht lokal sagen, dann sagen wir, dass wir einfach kein weiteres Bücherregal für uns erstellen.
Verwenden Sie einfach diejenige, die wir bereits haben, und weisen Sie sie nicht lokal zu.
Wenn wir diese Zeile nicht hätten, haben wir, wenn wir bei Zeile sieben angelangt sind, X gleich lokal und X gleich
nicht lokal im Speicher abgelegt.
Wir haben also jetzt zwei Orte im Gedächtnis.
Das ist keine große Sache, denn heutzutage haben wir viel Gedächtnis.
Aber da Programme immer größer werden, wird dies zu einem kleinen Problem.
OK, aber was ist mit einer Funktion?
Ich meine, wir haben gelernt, dass wir uns mit Funktionen nicht wiederholen können und mehrmals anrufen
können.
Aber eine andere gute Verwendung von Funktionen besteht darin, dass der Computer und der Python-Interpreter, sobald wir diese Funktion
aufgerufen haben und dies alles erledigt ist, diesen gesamten Speicher gezielt zerstören.
Das heißt, wenn wir mit der äußeren Funktion fertig sind, kann ich print X hier nicht wirklich aufrufen.
Es wird mir einen Fehler geben.
Es wird sagen, ich habe keine Ahnung, was existiert.
Und warum ist das?
Das liegt daran, dass die Python nach dem Aufrufen dieser Funktion aufgerufen wird. Der Garbage Collector wird sagen, hey, es sieht
so aus, als wären wir mit dieser Funktion fertig.
Und ich sehe, dass diese X-Variable gut ist, und diese X-Variable werden wir nicht verwenden, weil wir mit dieser Funktion fertig
sind.
Also werde ich diesen Müll sammeln und ihn dann einfach wegwerfen.
Also werde ich diesen Speicherschrank leeren, damit andere Ressourcen oder andere Programme dies verwenden können.
Und das ist eine wirklich nette Funktion, bei der Python diese einfach automatisch für Sie entfernt, damit Sie den
Speicher des Computers nicht verstopfen.
Und deshalb ist SCOP nützlich.
Wir müssen nicht so detailliert darüber nachdenken, wie ich es erwähnt habe, aber es ist schön zu
wissen, dass es da ist, damit Ihre Programme nicht viel Speicher beanspruchen und sie effizient ausgeführt werden können.
Dies ist ein etwas fortgeschrittenes Thema, aber ich wollte es hier einfügen, damit Sie darüber nachdenken können,
warum Programme so gestaltet sind, wie sie sind.
Gut.
Ich werde jetzt aufhören zu reden.
Wir sehen uns im nächsten Video.
Tschüss.