Python 3 Grundkurs

Berechnungen und Auswertungen durchführen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Eine Funktion umfasst in Python die Kapselung mehrerer unterschiedlicher Anweisungen. Der Entwickler verfügt hiermit über die Option, Berechnungen und Auswertungen durchzuführen.

Transkript

Für jede höhere Programmiersprache ist es möglich, mehrere Anweisungen in einer Funktion zu kapseln. Dies geht in Python natürlich auch, das schauen wir uns jetzt mal an, und zwar öffne ich jetzt wieder unser main.py, und jetzt werde ich einen Teil unseres Programms hinter einer Funktion kapseln, die muss ich natürlich erstmal definieren, das mache ich mit dem Schlüsselwort def So - jetzt muß ich den Namen der Funktion anzeigen, ich wähle mal den Bezeichner rechnen, da wir ja das berechnen wollen, dann folgt Klammer auf, Klammer zu, dann ein Doppelpunkt, und dann leite ich mit dem Doppelpunkt hier den Anweisungsblock ein. Der beinhaltet alles, was hier eingerückt ist, gehört dann zum Anweisungsblock, und das sind dann eben die Anweisungen, die sequentiell hintereinander abgearbeitet werden, wenn die Funktion rechnen aufgerufen wird. Ich schreibe jetzt erstmal nur pass rein, damit die Funktion gültig ist, und bin dann eigentlich fertig damit, eine funktionierende, valide Funktion zu programmieren. Ich kann die Funktion jetzt aufrufen, indem ich einfach den Namen der Funktion nenne, und dann hier noch die Klammern, die öffnende und schließende Klammer reinsetze. Das wäre jetzt ein gültiges Programm. Aber obwohl das Programm gültig ist, tut es dennoch nicht das, was wir eigentlich vorhatten, denn hier drin soll ja eine Berechnung stattfinden. Deswegen werde ich die Formel jetzt hier mal herauskopieren, und hier einsetzen: So, und den Aufruf der Funktion rechnen, den werde ich auch nicht dort durchführen, sondern hier. So, jetzt muss ich noch dafür sorgen, dass das Ergebnis dieser Berechnung zurückgegeben wird als Rückgabewert, und das gelingt mir mit dem Schlüsselwort return. So, das würde jetzt funktionieren, allerdings ist es so, dass wir hier noch ein Problem haben, und zwar behandeln wir an dieser Stelle die Variable gewicht und die Variable groesse, die hier draußen definiert worden ist. Man spricht dabei von sogenannten globalen Variablen, da sie global gültig sind, das heißt auch außerhalb und innerhalb der Funktion. Das ist insofern unschön, weil wir ja eigentlich gerade das Innere der Funktion kapseln wollen. Deswegen werde ich mal hier was anderes machen. Ich werde die Variablen mal ganz anders benennen, ge und hier gr, und, ja, jetzt ist es aber so, dass hier ja nix drinsteht, ich muss noch dafür sorgen, dass irgendwie die Größe und das Gewicht der Funktion übergeben wird. Und genau zu diesem Zweck wurden die Funktionsparameter geschaffen, Funktionsparameter, die definiere ich innerhalb dieser Funktionsklammern und zwar schreibe ich hier rein (ge,gr) So, jetzt sind sie hier definiert, und ich kann sie hier drin verwenden, und jetzt muss ich sie an der Stelle natürlich dann auch angeben oder übergeben. Und zwar: an erster Stelle kam das Gewicht, und dann folgte die Größe. Wunderbar. Und das probiere ich jetzt mal aus. Noch ein Gewicht, und dann breche ich das mal ab. Und das funktioniert! Ich werde an dieser Stelle unsere Funktion rechnen noch etwas weiter ausbauen, und zwar werde ich diesen Teil hier auch noch in die Funktion reinsetzen. So, das geht ja ganz einfach, ich kann ja an dieser Stelle einfach die drei Zeilen rauspasten, über Steuerung entfernen oder Steuerung x, und dann hier über Steuerung-V reinsetzen. Ja, jetzt kann ich auf den Funktionsparameter auch verzichten, den nehme ich mal raus, und hier schreibe ich jetzt auch wieder gewicht rein, und jetzt haben wir aber ein Problem, und zwar steht hier das Schlüsselwort break und break funktioniert ja nur innerhalb einer Schleife. Wie löst man das? Indem man an der Stelle einen return reinschreibt, und, ja, wenn jetzt der Benutzer eine leere Zeichenkette eingibt, also nur die Enter-Taste drückt, weil er ja das Programm abbrechen will, dann würde an der Stelle der Programmablauf hier reinlaufen, und dann die Abarbeitung der Funktion rechnen über return abbrechen, return ohne Parameter oder ohne Rückgabewert bricht dann die Funktion sozusagen ab, gibt aber keinen Rückgabewert zurück. Gut. An der Stelle würden wir dann dort landen, in bmi würde dann aber nichts drinstehen, was spätestens, ja, irgendwo hier unten dann zu einem Unfall führen würde, und außerdem tut es auch nicht das, was wir wollten, denn wir wollen ja, dass ein Nichts oder eine leere Zeichenkette dazu führt, dass das Programm abbricht, deswegen fehlt hier noch was, und zwar müssen wir an der Stelle reinschreiben, if not bmi dann break So. Und jetzt würde das Ganze funktionieren, das probiere ich auch gleich mal aus - So, das nehme ich mal raus, das brauchen wir nicht mehr, dann führe ich mal Alex - Körpergröße - und das funktioniert nicht, wieso? Ah ja, genau. Das hatte ich hier vergessen, ich muss an der Stelle nur einen Funktionsparameter übergeben. So, das probiere ich jetzt nochmal aus. Alex - Körpergröße - und dann noch - ein Gewicht - noch ein Gewicht und - Ja, und das funktioniert wieder! So, als nächstes werde ich jetzt einen weiteren Teil unseres Programms in eine Funktion auslagern, und zwar - diesen Teil hier, der ist ja für die Auswertung des BMI-Wertes zuständig, und jetzt werde ich hingehen, und eine neue Funktion definieren, die nenne ich dann auswerten, und den ganzen Teil des Programms werde ich jetzt hier rausschneiden, und hier reinsetzen, So, jetzt bin ich an sich damit fertig. Ich muss die Funktion natürlich auch aufrufen. Und - das dürfte jetzt auch funktionieren. Das Programm hat allerdings jetzt wieder das Problem, dass diese Variable eine globale Variable ist, und, ja, das wollten wir ja nicht, dass man hier drin mit globalen Variablen arbeitet, sondern stattdessen sollten wir über Funktionsparameter den Wert der hier außen berechnet wird, übergeben, und hier drin mit gekapselten, lokalen Variablen arbeiten. Deswegen werde ich an dieser Stelle mal einfach mal ein b schreiben, und das Ganze hier umbenennen, so, und jetzt kann ich bei auswerten die Variable bmi übergeben, und bin dann hiermit fertig. Das probiere ich mal aus - meinen Namen, Körpergröße, und jetzt kann ich wieder - ein Gewicht eingeben und - ja, das funktioniert auch.

Python 3 Grundkurs

Lernen Sie die Entwicklungsumgebung sowie die grundlegenden Konzepte von Python kennen und schreiben Sie schon bald eigene Anwendungen.

4 Std. 33 min (49 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:26.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!