Python lernen

Die while-Schleife

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Python verwendet für Schleifen immer die while-Schleife. Es gibt keine weiteren "klassischen" Schleifen, und diese Vereinfachung tut der Klarheit von Python-Code extrem gut.
05:58

Transkript

Die meisten Programmiersprachen stellen mehrere Schleifentypen zur Verfügung. Kopfgesteuerte Schleifen, fußgesteuerte Schleifen, oft auch noch verschiedene Syntaxvarianten davon. Python entmistet das und stellt eine konventionelle Schleife Verfügung, die "while"-Schleife. Es gibt noch eine Abart für die Iteration über sequenzielle Datentypen, aber als konventionelle Schleifen gibt es ausschließlich die "while"-Schleife. Das ist eine sogenannte kopfgesteuerte Schleife, weil die Bedingung, die erfüllt sein muss, wird am Anfang kontrolliert und nur wenn die Bedingungen "True" ergibt, wird diese Schleife ausgeführt. Also das ,was hier als Schleifekörper notiert ist. Wenn sie "False" liefert, wird das übersprungen und hinter der Schleife weitergemacht. Es gibt keine fußgesteuerte Schleife. Das mag erst einmal als Einschränkung dienen, ich empfinde es als genau das Gegenteil. Es ist eine ideale Vereinfachung, denn es gibt keinenGrund, warum man eine fußgesteuerte Schleife unbedingt braucht. Man muss die Bedingung beim Erreichen der Schleife einfach so formulieren, dass sie im Zweifelsfalle auf jeden Fall einmal ausgeführt wird und es ist nur eine Frage sozusagen der Vorbereitung, wenn man die Schleife erreicht. Alles andere sind fadenscheinige Argumente, deswegen geht Python hier auch diesen Weg konsequenten und sagt wir haben eben nur eine Schleife zur Verfügung.Diese Variable "i", die ich hier deklariert habe, ist eine Zählvariable und Schleifenvariablen heißen immer "i". Das habe ich jetzt sehr provokant formuliert, aber es soll auch genauso verstanden werden. Wenn man sich an gängige Konventionen hält, dann werden die Zählvariablen von Schleifen einfach "i" genannt, solange es keine Komplikationen gibt. Hat man sogenannte verschachtelte Schleifen, das heißt eine Schleife wird in eine andere notiert, dann wird die Zählvariable dort "j" genannt. Nächste Ebene "k" und so weiter. Bei einer gewissen Ebene machen verschachtelte Schleifen keinen Sinn mehr, aber grundsätzlich sind diese Konventionen weltweit eigentlich akzeptiert und man sollte sich unbedingt daran halten. Was also hier passiert ist, es wird eine Zählvariable "i" eingeführt und mit 0 initialisiert dann erreiche ich die Schleife, ich überprüfe ob die Zählvariable "i" den Wert hat, der diese Bedingungen zu "True"evaluieren lässt. Mit anderen Worten ist der Wert kleiner 9, in dem Fall, dann folgt der Doppelpunkt der die Bedingung abtrennt und das hier ist der Schleifenkörper und alles was da steht wird durchgeführt und dann geht es in den nächsten Schleifendurchlauf. Nun sehen Sie hier diese Zeile "i +=!". Das erhöht die Zählvariable, wenn Sie die Zielvariable nicht erhöhen, wird diese Bedingung hier immer erfüllt sein und bei jeder erneuten Überprüfung, das heißt, sobald der Block einmal durchgearbeitet ist, geht es wieder hier oben hin und es wird wieder die Bedienung überprüft. Bei jeder diese Überprüfungen, wird diese Bedingungen zu "True" evaluiert und das führt dann zu einer sogenannten Endlosschleife und das möchte man normalerweise nicht, haben streng genommen kann man sowas notieren. Man wird sowas auch notieren, aber wenn man das tut, hat man in diesem Fall jetzt eine Endlosschleife und dann muss man aus dem Inneren heraus dafür sorgen, dass die Schleife beendet wird. Ansonsten, wenn man hier einen Counter, einen Zähler hat und der wird hier drin verändert, dann hat man eine zählergesteuerte Schleife und die hat dann eben ein definiertes Ende. Wir führen das Beispiel einfach mal aus. Und das ist die Ausgabe, Sie sehen also, ich habe den Wert 0, ich komme in die Schleife rein, dann wird der Wert um 1 erhöht und in einen nächsten Schritt ausgegeben. Das wird genau 9 mal gemacht und dann ist die Schleife beendet. Es gibt in einigen Programmiersprachen so eine Syntax, um eine Variable um 1 zu erhöhen. Das können fast alle Sprachen, die so aus"C" herkommen.Man nennt diesen Operator und diesen Operator den Inkrement- und Dekrement-Operator, der ist in Python nicht vorhanden und das hier ist genauso gut. Noch etwas zur Schrittweite, die Schrittweite einer Schleife, das heißt die Erhöhung des Schleifenzählers sollte immer um 1 erfolgen. Es gibt keinen sinnvollen Grund, auch das jetzt sehr provokant formuliert, aber es gibt für mich keinen sinnvollen Grund, davon jemals abzuweichen, denn wenn man einen klaren wartbaren Code haben möchte, einen erwartbaren Code, dann sollte die Schrittweite immer 1 betragen. Nicht 1, nicht 2 nicht sonst irgendetwas, auch wenn es technisch möglich ist, denn egal was man mit einer anderen Schrittweite erreichen möchte, sowas beispielsweise, syntaktisch geht das natürlich. Aber egal was man damit erreichen will, es ist eine Frage der Logik im Inneren der Schleife.Mit der Situation umzugehen, dass die Schrittweite immer 1 ist und niemals einen anderen Wert hat, das macht den Code leichter lesbar, wie schon ich erwähnt hatte, besser wartbar und erwartbar vom Verhalten für jemanden, der von außen auf diesem Code schaut. Ansonsten gibt es nicht viel über Schleifen zu sagen. Das ist ja die Besonderheit von Python, diese Schleifen wurden in der Komplexität im Umfang reduziert und auch das ist ein Highlight von Python, das ist keine Schwäche.

Python lernen

Lernen Sie Syntax, Konzepte und Sprachelemente der praktischen Programmiersprache Schritt für Schritt kennen.

3 Std. 41 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.06.2018

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!