Python 3 - Schleifen

Im Allgemeinen werden Anweisungen nacheinander ausgeführt - Die erste Anweisung in einer Funktion wird zuerst ausgeführt, gefolgt von der zweiten usw. Es kann vorkommen, dass Sie einen Codeblock mehrmals ausführen müssen.

Programmiersprachen bieten verschiedene Steuerungsstrukturen, die kompliziertere Ausführungspfade ermöglichen.

Mit einer Schleifenanweisung können wir eine Anweisung oder eine Gruppe von Anweisungen mehrmals ausführen. Das folgende Diagramm zeigt eine Schleifenanweisung -

Die Programmiersprache Python bietet die folgenden Arten von Schleifen, um die Schleifenanforderungen zu erfüllen.

Sr.Nr. Schleifentyp & Beschreibung
1 while-Schleife

Wiederholt eine Anweisung oder eine Gruppe von Anweisungen, während eine bestimmte Bedingung WAHR ist. Es testet die Bedingung, bevor der Schleifenkörper ausgeführt wird.

2 für Schleife

Führt eine Folge von Anweisungen mehrmals aus und verkürzt den Code, der die Schleifenvariable verwaltet.

3 verschachtelte Schleifen

Sie können eine oder mehrere Schleifen in einer anderen während oder für eine Schleife verwenden.

Schleifensteuerungsanweisungen

Die Loop-Steueranweisungen ändern die Ausführung von ihrer normalen Reihenfolge. Wenn die Ausführung einen Bereich verlässt, werden alle automatischen Objekte, die in diesem Bereich erstellt wurden, zerstört.

Python unterstützt die folgenden Steueranweisungen.

Sr.Nr. Steueranweisung & Beschreibung
1 break-Anweisung

Beendet die Schleifenanweisung und überträgt die Ausführung an die Anweisung unmittelbar nach der Schleife.

2 Aussage fortsetzen

Bewirkt, dass die Schleife den Rest ihres Körpers überspringt und ihren Zustand sofort erneut testet, bevor sie wiederholt wird.

3 pass-Anweisung

Die pass-Anweisung in Python wird verwendet, wenn eine Anweisung syntaktisch erforderlich ist, Sie jedoch keinen Befehl oder Code ausführen möchten.

Lassen Sie uns die Schleifensteuerungsanweisungen kurz durchgehen.

Iterator und Generator

Iteratorist ein Objekt, mit dem ein Programmierer unabhängig von seiner spezifischen Implementierung alle Elemente einer Sammlung durchlaufen kann. In Python implementiert ein Iteratorobjekt zwei Methoden:iter() und next().

String-, Listen- oder Tupelobjekte können zum Erstellen eines Iterators verwendet werden.

list = [1,2,3,4]
it = iter(list) # this builds an iterator object
print (next(it)) #prints next available element in iterator
Iterator object can be traversed using regular for statement
!usr/bin/python3
for x in it:
   print (x, end=" ")
or using next() function
while True:
   try:
      print (next(it))
   except StopIteration:
      sys.exit() #you have to import sys module for this

EIN generator ist eine Funktion, die eine Folge von Werten unter Verwendung der Ertragsmethode erzeugt oder ergibt.

Wenn eine Generatorfunktion aufgerufen wird, gibt sie ein Generatorobjekt zurück, ohne mit der Ausführung der Funktion zu beginnen. Wenn die next () -Methode zum ersten Mal aufgerufen wird, wird die Funktion ausgeführt, bis sie die Yield-Anweisung erreicht, die den Yield-Wert zurückgibt. Der Ertrag behält den Überblick, dh er merkt sich die letzte Ausführung und der zweite next () -Aufruf wird vom vorherigen Wert fortgesetzt.

Beispiel

Das folgende Beispiel definiert einen Generator, der einen Iterator für alle Fibonacci-Zahlen generiert.

#!usr/bin/python3

import sys
def fibonacci(n): #generator function
   a, b, counter = 0, 1, 0
   while True:
      if (counter > n): 
         return
      yield a
      a, b = b, a + b
      counter += 1
f = fibonacci(5) #f is iterator object

while True:
   try:
      print (next(f), end=" ")
   except StopIteration:
      sys.exit()