In Ordnung, spielen wir ein kleines Spiel, können Sie erraten, was die Ausgabe dieses Programms sein wird?
Ich habe hier gleich eins.
Dann erstellen wir eine Funktion namens Verwirrung, bei der wir gleich fünf haben, und wir geben eine Frage
zurück, wenn wir A und Verwirrung ausgeben, was erwarten Sie, was hier passiert?
Nehmen Sie sich eine Sekunde Zeit, um herauszufinden, ob Sie eine Pause einlegen müssen, und lassen Sie uns es herausfinden.
Eins im Fünf.
Haben Sie das erwartet?
Gehen wir Zeile für Zeile vor.
Zuerst weisen wir der Variablen A den Wert Eins zu, dann erstellen wir eine Funktion namens Verwirrung und der Python-Interpreter wird sagen, in
Ordnung, Verwirrungsfunktion, ich weiß, was es ist.
Ich werde es in Erinnerung behalten.
Wenn Sie mich brauchen, lassen Sie es mich wissen.
Und dann geht es zu Zeile acht und Zeile acht wird sagen, hey, druck ein was ist ein..
Nun, das einzige Mal, dass ich A gesehen habe, war hier, ein gleich eins.
Also, sich zu erinnern, was sagt, ist gleich eins.
Aber dann, wenn ich solche Verwirrung führe.
Ich sage, hey, A wird gleich fünf und jetzt kehren wir zurück, was fünf ist.
OK, was ist, wenn ich die Reihenfolge ändere?
Was ist, wenn ich so gehe?
Was wird passieren?
Wenn ich klicke, laufe.
Haben Sie das erwartet?
Wieder haben wir eine enge, dann definieren wir die Funktion und geben dann Verwirrung aus.
Nun, die Verwirrung hier wird gleich fünf zuweisen und dann A zurückgeben, aber warum hat sich das nicht geändert?
Warum ist A immer noch gleich eins, wenn wir hier ankommen?
Und das liegt am Umfang, oder?
Was der Python-Interpreter macht, ist, wenn er die Verwirrungsfunktion ausführt, wird er sagen, hey, A wird
gleich fünf, aber ich erstelle hier eine Variable namens A in meinem eigenen Universum.
Ich weiß hier nichts über einen gleichwertigen.
Ich habe mein eigenes Universum und nachdem wir diese Funktion ausgeführt haben, sind wir fertig.
Wir haben die Funktion zurückgegeben und sie ist komplett weg.
Aber wir haben das Universum nie in den globalen Bereich verlassen.
Es gibt also eine Reihe von Regeln, die der Python-Interpreter durchläuft, um eine Variable zu überprüfen, und die Regeln sind
dies.
Zuerst wird es mit dem Einheimischen zu überprüfen.
Beginnen Sie also mit local, und wir nennen es einen lokalen Scope.
Ein lokaler Bereich ist ein Bereich, der Teil dieser lokalen Funktion ist.
A ist also ein lokaler Geltungsbereich.
Dort wird geprüft.
Hey, kenne ich die Variable?
A Nun ja.
Wenn ich A zurückgebe, habe ich hier eine Variable definiert, also beginnt sie dort.
Aber sagen wir, a war nicht da.
Nehmen wir an, ich entferne und klicke hier auf Ausführen.
Ich bekomme beides einmal, denn die zweite Regel lautet, wenn die lokale Variable oder der lokale Gültigkeitsbereich nichts
enthält, dann Nummer zwei, gibt es eine lokale Elternschule?
Was ist in unserem Fall die Ursache der Dysfunktion?
Nun, es ist der globale Geltungsbereich, aber wir können auch eine andere Funktion ausführen.
Nehmen wir an, Elternteil und Elternteil ist ein Elternteil der Verwirrungsfunktion.
Und hier, sagen wir, a gleich zwei 10.
Jetzt, hier drin, kehren wir zurück.
Verwirrung, nur damit wir es wieder verwenden und tatsächlich ausführen können.
Rufen wir also die Eltern an.
Und klicken Sie auf Ausführen.
In Ordnung, lassen Sie uns das durchgehen, damit es nicht zu verwirrend ist.
Wir haben ihre Elternfunktion, die aufgerufen wird.
Wenn wir das also aufrufen, weisen wir a gleich zehn zu und erzeugen dann auch eine neue Funktion, Verwirrung.
Und dann endlich geben wir Verwirrung zurück und führen es tatsächlich durch.
Also geben wir A zurück und geben dann hier den Wert von A aus, der 10 ist.
Und warum ist das?
Nun, weil wir zunächst mit dem lokalen Geltungsbereich beginnen.
Hey, diese Verwirrung weiß, was A ist?
Nein, ich habe es nicht in meinem lokalen Bereich, OK, hat mein lokaler übergeordneter Bereich es?
Es wird also eine Stufe höher gehen und sagen, hey, funktionieren Eltern heutzutage?
Ja, ich habe fast 10.
Es wird also ausgegeben, dass die dritte Regel oder die dritte Ordnung global ist.
Und global ist das, was wir die Einrückung von Nichts nennen, es ist diese Datei, richtig, was auch immer die Datei hat, die
in unserem Fall global ist, wenn A gleich zehn hier nicht existiert, gibt es keine lokale, es gibt keine übergeordnete
lokale.
Und ich klicke auf Ausführen.
Es überprüft den globalen Geltungsbereich.
Und schließlich gibt es noch eine weitere Regel, und diese ist Nummer vier, und es ist
eine knifflige, und das nennen wir in Python gebaut.
Oder eingebaute Python-Funktionen.
Python enthält also auch vordefinierte Funktionen wie die, über die wir bereits gesprochen haben.
Das sind einige, sagen wir, geben Sie einfach fünf.
Wird es überprüfen oder eigentlich nichts geben, lasst uns hier einfach etwas tun.
Wenn ich das laufe.
Ich bekomme einige eingebaute Funktion.
Nun, woher wusste er, was das war, was diese Variable am Ende des Tages war?
Nun, weil es sagte, hey, habe ich etwas in diesem Universum?
Nein, tue ich nicht.
OK, habe ich einige in meinem übergeordneten Geltungsbereich?
Nein, tue ich nicht.
OK, habe ich eine Summe in Global?
Nein, hier ist nichts drin.
Und das letzte, was überprüft wird, ist, hey, eine Art eingebaute Python-Funktion.
Ja.
Python gibt uns tatsächlich einige, damit Sie sie verwenden können, damit sie nicht auslüften.
Und das sind die Bereichsregeln, die der Python-Interpreter sehr, sehr cool findet.
Es gibt noch ein paar Dinge, die wir lernen müssen.
Also wir sehen uns im nächsten Video.