Was ist in Python der Unterschied zwischen einer for-Schleife und einer if-Anweisung?


Antwort 1:

Eine for-Schleife ist ein Konstrukt, das eine Sequenz durchläuft und für jedes Element in der Sequenz eine Codesuite ausführt. Diese Sequenz kann ein Bereich, eine Liste, ein Tupel, eine Menge, ein Wörterbuch, eine Generatorfunktion, ein Generatorausdruck oder sogar ein benutzerdefiniertes Objekt sein. Python hat einen Namen für die Sequenzen, die in einer for-Schleife verwendet werden können - sie werden als Iteratoren bezeichnet.

Eine if-Anweisung ist keine Schleife. Sie kann nicht zum Wiederholen einer Codesuite verwendet werden. Eine if-Anweisung kann nur verwendet werden, um zu bestimmen, welche Code-Suite ausgeführt werden kann.

Eine Code-Suite ist ein beliebiger Textblock, der vom Vorgänger eingerückt ist.


Antwort 2:

Obwohl sowohl if als auch for zusammengesetzte Kontrollflussanweisungen in Python sind, dienen beide sehr unterschiedlichen Zwecken. Lassen Sie mich auch die while-Anweisung einschließen, damit die Diskussion etwas abgeschlossen ist.

Eine if-Anweisung wird verwendet, um eine Bedingung zu überprüfen und einen Codeblock einmal auszuführen, wenn diese Bedingung mit True bewertet wird. Beispielsweise:

>>> a = 1
>>> wenn a == 1:
... drucken (a)
...
1

Eine while-Anweisung wird zum Schleifen (Iterieren) verwendet. Ähnlich wie bei if prüft dies eine Bedingung und führt einen Codeblock aus, solange diese Bedingung wahr ist. Beispielsweise:

>>> während eines <5:
... drucken (a)
... a + = 1
...
1
2
3
4

Eine for-Anweisung unterscheidet sich insofern von dieser, als sie keine Bedingung prüft. Wie eine while-Anweisung wird auch for-statement zum Schleifen verwendet. Der Unterschied besteht jedoch darin, dass es die Elemente eines Iterators durchläuft (als Datenstrom betrachtet, wie Listen) und einen Codeblock ausführt, solange sich in diesem Iterator ein Element befindet. Beispielsweise:

>>> a = [1, 2, 3, 4]
>>> für num in a:
... print (num)
...
1
2
3
4

Dies sind alles zusammengesetzte Anweisungen, da sie zusätzliche Klauseln enthalten. Alle drei Anweisungen enthalten eine optionale else-Klausel. Eine if-Anweisung kann auch mehrere elif-Klauseln enthalten.

Außerdem können wir für die beiden looping-Anweisungen while und for ihren Ablauf ändern, indem wir auch die break- oder continue-Anweisungen verwenden.

Teile einige meiner Blogposts zu diesen Themen, wenn es dir hilft:

Iteration in Python: Die Anweisungen for, while, break und continue können dazu beitragen, die Verwendung der Anweisungen zum Schleifen (Iteration) zu verstehen.

Das Verständnis von for-Schleifen in Python würde dazu beitragen, zu verstehen, wie for-Schleifen tatsächlich funktionieren und was Iteratoren, Iterables und das Iterator-Protokoll sind.