In dieser Lektion lernen Sie Funktionen in Python kennen. Wir schreiben jetzt schon seit ein paar Lektionen Zufallscode, aber Wir müssen lernen, organisierten Code zu schreiben. Mit anderen Worten, wir können unseren losen Code zu kleineren kombinieren Teile verwaltbaren und wartbaren Codes. Und diese Codestücke nennen wir Funktionen. Und ein großer Vorteil der Verwendung von Funktionen besteht darin, dass wir Schreiben Sie es einmal, dann verwenden wir es später so oft unsere Bewerbung. Also definieren wir unsere Funktion, indem wir den gesamten Code darin speichern Brocken. Dann können wir diese Funktion wiederverwenden, indem wir sie von überall aus aufrufen unsere Bewerbung. Tatsächlich kann der Begriff „Funktion aufrufen“ ersetzt werden mit dem Begriff „Eine Funktion ausführen“ oder „Eine Funktion aufrufen“. oder eine Funktion ausführen. Im Grunde bedeuten also alle das Gleiche. Und eine andere Möglichkeit, eine Funktion zu betrachten, ist, dass es sich um eine handelt Container, der einige Codezeilen enthält, die a ausführen bestimmte Aufgabe. Und das ist ein wichtiger Punkt, den es zu beachten gilt: Funktionen sollten nur eine Sache machen. Wir haben zum Beispiel bereits mit Built-in gearbeitet und es genutzt Funktionen in Python, wie die Druckfunktion und der Typ Funktion. Diese Funktionen erledigen jeweils nur eine Aufgabe, und das war's. Die Druckfunktion druckt einfach alles, was wir übergeben Klammern. Und die Typfunktion benötigt lediglich einen Variablennamen und gibt seinen Typ zurück. Also nur eine bestimmte Aufgabe pro Funktion. Ich wollte auch einen wichtigen Punkt in der Terminologie klarstellen, den Sie oft hatten werden die Begriffe Funktionen und Methoden hören. Sie werden sie vielleicht auch synonym verwenden hören, aber es gibt eine kleiner Unterschied. Funktionen sind das, was wir bisher besprochen haben. Methoden sind ebenfalls Funktionen, gehören aber zu a bestimmte Klasse. Da wir noch keine Klassen oder Objekte besprochen haben, bitte Verstehen Sie zunächst, dass eine Funktion nicht zu a gehört Klasse, dann ist es nur eine Funktion. Wenn die Funktion jedoch zu einer Klasse gehört, dann wir Nennen Sie es eine Methode. Sie sind beide auf die gleiche Weise definiert und sehen gleich aus, aber Wir nennen sie entweder eine Funktion oder eine Methode, je nachdem, ob sie vorhanden sind sind eigenständig oder gehören zu einer Klasse. Also gut, so sieht eine Funktion in Python aus. Wir beginnen mit einem Reserveschlüsselwort namens def, die Abkürzung für define oder definition, weil wir eine Funktion definieren gefolgt von einem Funktionsnamen. Und in diesem Fall lautet der Name der Funktion add, dann folgt ein Klammerpaar, das gelten kann Elemente, und diese Elemente werden Parameter genannt. Diese Parameter werden dann im Code der Funktion verwendet. Nun haben einige Funktionen Parameter, andere nicht Sie benötigen sie, daher sind sie optional. Daher können diese Klammern leer sein. Dann folgt nach den Klammern ein Doppelpunkt, der gefällt Wir haben bereits gesehen, dass der Doppelpunkt bei Schleifen und Bedingungen bedeutet dass ein eingerückter Code auftaucht und dieser eingerückt ist Code ist der Hauptteil der Funktion. Und weil diese Codezeilen eingerückt sind. Dies bedeutet für den Python-Interpreter, dass sie Teil sind dieser Funktion. Schließlich haben wir die Return-Anweisung. Das Wort return in Kleinbuchstaben ist ein anderes Python reserviertes Wort, genau wie das Schlüsselwort def hier oben. Die Return-Anweisung wird verwendet, um anzugeben, was die Funktion ist sollte zurückkehren. Und eine Funktion kann jede Art von Wert zurückgeben, einschließlich Zeichenfolgen, Ganzzahlen und sogar andere Funktionen. Wenn wir uns also diese spezielle Funktion ansehen, sehen wir dass sein Name add ist und er zwei Parameter benötigt, NUM eins und NUM zwei. Beim Aufruf dieser Funktion werden diese beiden Werte als übergeben Teil des Funktionsaufrufs, und wir sehen diesen Funktionsaufruf unten Hier. Wir rufen die Funktion auf, indem wir ihren Namen eingeben und bei Bedarf übergeben Argumente Bitte beachten Sie den Namensunterschied zwischen Argumenten und Parameter, wenn wir während a Elemente in Klammern übergeben Funktionsaufruf, wie diese Zeile, nennen wir diese Elemente Argumente. Aber wenn wir eine Funktion definieren und Elemente in die einfügen Klammern, wie hier oben, diese werden dann Parameter genannt. Bitte seien Sie sich dieser Unterscheidung bewusst und verstehen Sie sie Manche Leute verwenden sie auch austauschbar. Also nennen wir die Funktion hier beim Namen und übergeben ihr dann zwei Argumente, eine Zwei und eine Vier. Nun muss die Anzahl der Argumente mit der Anzahl von übereinstimmen Parameter, und wenn sie nicht übereinstimmen, dann wird es Python tun einen Fehler erzeugen. In diesem Beispiel ist also der Wert zwei der Wert für NUM ein Parameter und Wert vier ist der Wert für NUM zwei Parameter. Und sobald dieser Funktionsaufruf erfolgt ist und die Argumente vorhanden sind übergeben, dann wird die Funktion ausgeführt und führt den Code im aus eingerückter Block. Und sobald diese Zeilen ausgeführt wurden, kommen wir zur Return-Anweisung: die dann einen Wert an die Funktionsaufrufanweisung zurückgibt. Dieser Additionswert wird also an diesen Funktionsaufruf zurückgegeben hier unten. Nun geben nicht alle Funktionen etwas an den Funktionsaufruf zurück. In einem solchen Szenario benötigen wir also keine Return-Anweisung. Eigentlich geben alle Funktionen etwas zurück. Aber wenn wir nicht explizit eine Return-Anweisung einschließen, wird die Die Python-Funktion gibt immer noch etwas zurück, nämlich das Wort none, was im Hintergrund geschieht. In Python werden Funktionen aufgerufen, die etwas zurückgeben fruchtbar, während Funktionen, die einfach ausgeführt werden und nicht zurückkehren alles wird als fruchtlos bezeichnet. Also gut, lassen Sie mich Sie zu einem Jupyter-Notebook führen hat den gesamten Code für uns eingegeben. Und wenn ich diesen Code ausführe, ICH. Erhalten Sie die erwartete Ausgabe. Wenn ich diesen Code ausführe, startet der Python-Interpreter von die Spitze, und das erste, was ihm begegnet, ist eine Definition von a Funktion. Dieser Code wird jedoch erst ausgeführt, wenn ihn jemand zuerst aufruft. Daher überspringt der Python-Interpreter die Ausführung dieser Zeilengruppe zur Zeit. Dann geht es die Codezeilen weiter nach unten und findet dies erste ausführbare Codezeile, die nur eine Variable ist, die ich einem Funktionsaufruf einen Wert zugewiesen. Also rufen wir diese Funktion namens Add auf und übergeben die zwei Argumente, eine Zwei und eine Vier. Dies wiederum führt zur Definition dieser Funktion, speichert die Werte von Zwei und Vier in NUM eins und NUM zwei Parameter, gibt dann den Codeblock ein und führt ihn aus. Dadurch werden diese beiden Druckanweisungen ausgeführt und anschließend eine neue erstellt Variable namens Addition und weist ihr den Wert NUM eins zu plus NUM Zwei, also zwei plus vier. Es ergibt sich also eine Antwort von sechs. Dann gibt es diesen Wert mit der Return-Anweisung zurück. Dieser Wert wird also an den Funktionsaufruf zurückgegeben hier unten. Dieser Funktionsaufruf ist nun also eine Sechs und wir weisen diesen Wert zu die res-Variable, die wir schließlich in dieser Zeile ausgedruckt haben. Wir erhalten also eine Sechs in unserer Ausgabe. Nun, einige Dinge, die mit diesem Code schief gehen können, sind z Beispielsweise übergeben wir nicht die richtige Anzahl an Argumenten. Zum Beispiel entferne ich den Wert vier aus unserem Funktionsaufruf und führen Sie diesen Code erneut aus. Dadurch wird ein Fehler generiert, der besagt, dass die Funktion „Hinzufügen“ vorliegt Es fehlt ein Argument, das richtig ist. Auch wenn ich die Funktion aufrufe, aber stattdessen ein großes A verwende des erwarteten Kleinbuchstabens A, der mit dem der Funktion übereinstimmt. Name und dann ausführen, Ich werde. Bekomme auch eine Fehlermeldung. Seien Sie also bitte noch einmal vorsichtig mit der Art und Weise, wie Sie Ihre Person benennen und anrufen Funktionen. Jetzt ist es Teil der besten Programmierpraktiken Fügen Sie einen Kommentar direkt über der Definition der Funktion ein um zu erklären, was diese Funktion macht. Anstatt also den Code Zeile für Zeile durchzugehen, um ihn zu verstehen was es tut, ein ein- oder zweizeiliger Kommentar, der dies erklärt Funktion wird sicherlich in Zukunft helfen, wenn Sie oder irgendjemand sonst else überprüft diesen Code. Außerdem gehört es zur Best Programming Practice, zu gehen zwei Leerzeilen vor und nach der Funktion. Diese Funktion hat keinen Code davor, sondern danach. Sie können sehen, dass ich zwischen der Rückgabe zwei Leerzeilen gelassen habe Anweisung und die nächste Codezeile. Auch hier handelt es sich lediglich um bewährte Programmierpraktiken. Also keine Voraussetzung, aber es ist immer ratsam, sich am besten daran zu halten Praktiken Methoden Ausübungen. Schließlich muss der Funktionsaufrufcode nach der Funktion stehen Wurde definiert. Zum Beispiel werde ich diese Funktionsaufrufzeile vor das setzen Funktion war. Definiert und. Dann werde ich laufen. Es. Und ich erhalte eine Fehlermeldung, weil ich eine Funktion aufrufe, die dies nicht getan hat wurde noch nicht definiert, da Python den Code sequentiell liest von oben beginnend. In dieser Lektion haben Sie also etwas über Funktionen in Python und gelernt Seien Sie gespannt auf die nächste Lektion, in der Sie mehr über Listen erfahren. Danke fürs zuschauen.