Entscheidungsfindung ist eines der grundlegendsten Konzepte der Computerprogrammierung. Python unterstützt die in anderen Sprachen üblichen Flusssteuerungsanweisungen mit einigen Modifikationen. Der if
control-Anweisung ist eine der grundlegendsten und bekanntesten Anweisungen, die verwendet wird, um Code basierend auf einer bestimmten Bedingung auszuführen.
In diesem Artikel gehen wir auf die Grundlagen des if
ein -Anweisung in Python.
Python if
Anweisung #
Die grundlegendste Form des if
Die Anweisung in Python lautet wie folgt:
if EXPRESSION:
STATEMENT
Der if
Anweisung beginnt mit dem if
Schlüsselwort gefolgt vom bedingten Ausdruck.
Der EXPRESSION
muss gefolgt werden von (:
) Doppelpunkt. Wenn der EXPRESSION
ergibt True
, die STATEMENT
hingerichtet wird. Wenn EXPRESSION
gibt False
zurück , nichts passiert; die STATEMENT
wird ignoriert. STATEMENT
eine beliebige Anweisung sein, einschließlich mehrerer Anweisungen oder weiter verschachtelter if
Aussagen. Um keine Anweisungen auszuführen, verwenden Sie pass
Aussage.
Die STATEMENT
Block beginnt mit einer Einrückung und endet mit der ersten nicht eingerückten Zeile. Die meisten Leute entscheiden sich entweder für einen 4-Leerzeichen- oder einen 2-Leerzeichen-Einzug. Der offizielle Styleguide für Python-Code empfiehlt die Verwendung von 4 Leerzeichen pro Einrückungsebene und das Vermeiden der Kombination von Tabulatoren und Leerzeichen für Einrückungen.
Schauen wir uns das folgende Beispielskript an, das prüft, ob eine bestimmte Zahl größer als 5 ist.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Speichern Sie den Code in einer Datei und führen Sie ihn über die Befehlszeile aus:
python test.py
Das Skript fordert Sie auf, eine Zahl einzugeben. Wenn Sie beispielsweise 10 eingeben, wird der Bedingungsausdruck zu True
ausgewertet (10 ist größer als 5) und der print
Funktion wird ausgeführt.
10 is greater than 5.
Python unterstützt Standard-Vergleichsoperationen:
a == b
- Wahr, wenna
undb
sind gleich.a != b
- Wahr, wenna
undb
sind nicht gleich.a > b
- Wahr, wenna
ist größer alsb
.a >= b
- Wahr, wenna
gleich oder größer alsb
ist .a < b
- Wahr, wenna
ist kleiner alsb
.a <= b
- Wahr, wenna
gleich oder kleiner alsb
ist .
Sie können auch den in
verwenden Schlüsselwort, um zu prüfen, ob ein Wert in einem Iterable (Zeichenfolge, Liste, Tupel, Wörterbuch usw.) vorhanden ist:
s = 'linuxize'
if 'ze' in s:
print('True.')
Hier ist ein weiteres Beispiel für die Verwendung eines Wörterbuchs:
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
Bei Verwendung in einem Wörterbuch ist der in
Schlüsselwort prüft, ob das Wörterbuch einen bestimmten Schlüssel hat.
Um den bedingten Ausdruck zu negieren, verwenden Sie den logischen not
Betreiber:
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else
Anweisung #
Ein if..else
Anweisung wertet eine Bedingung aus und führt je nach Ergebnis eine der beiden Anweisungen aus.
Der Python if..else
Die Anweisung hat folgende Form:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Wenn EXPRESSION
ergibt True
, STATEMENT1
wird ausgeführt. Andernfalls, wenn EXPRESSION
gibt False
zurück , STATEMENT2
wird ausgeführt. Sie können nur einen else
haben Klausel in der Anweisung.
Das else
Schlüsselwort muss mit (:
enden ) Doppelpunkt und auf der gleichen Einrückungsebene wie der entsprechende if
sein Schlüsselwort.
Lassen Sie uns ein else
hinzufügen -Klausel zum vorherigen Beispielskript:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Wenn Sie den Code ausführen und eine Zahl eingeben, gibt das Skript eine andere Meldung aus, je nachdem, ob die Zahl größer oder kleiner/gleich 5 ist.
if..elif..else
Anweisung #
Das elif
Das Schlüsselwort ist die Abkürzung für else if
.
Der Python if..elif..else
Die Anweisung hat folgende Form:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Wenn EXPRESSION1
ergibt True
, die STATEMENTS1
wird ausgeführt. Wenn der EXPRESSION2
ergibt True
, die STATEMENTS2
wird ausgeführt. Wenn keiner der Ausdrücke zu True
ausgewertet wird , die STATEMENTS3
wird ausgeführt.
Das elif
Schlüsselwort muss mit (:
enden ) Doppelpunkt und auf derselben Einrückungsebene wie der entsprechende if
sein Stichwort. Sie können einen oder mehrere elif
haben Klauseln in der Erklärung. Das else
Klausel ist optional. Wenn der else
-Klausel wird nicht verwendet, und alle Ausdrücke ergeben False
, keine der Anweisungen wird ausgeführt.
Die Bedingungen werden nacheinander ausgewertet. Sobald eine Bedingung True
zurückgibt , werden die verbleibenden Bedingungen nicht ausgeführt und die Programmsteuerung bewegt sich zum Ende des if
Aussagen.
Lassen Sie uns ein elif
hinzufügen Klausel zum vorherigen Skript:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
Im Gegensatz zu den meisten Programmiersprachen hat Python keinen switch
oder case
Aussagen. Eine Folge von mehreren elif
-Anweisungen können als Ersatz für den switch
verwendet werden oder case
.
Verschachteltes if
Anweisungen #
Python erlaubt Ihnen, if
zu verschachteln Anweisungen innerhalb von if
Aussagen. Generell sollten Sie immer übermäßige Einrückungen vermeiden und versuchen, elif
zu verwenden anstatt if
zu verschachteln Aussagen.
Das folgende Skript fordert Sie auf, drei Zahlen einzugeben, und gibt die größte Zahl unter den Zahlen aus.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
So sieht die Ausgabe aus:
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Mehrere Bedingungen #
Der logische or
und and
Mit Operatoren können Sie mehrere Bedingungen im if
kombinieren Aussagen.
Hier ist eine andere Version des Skripts, um die größte Zahl unter den drei Zahlen zu drucken. In dieser Version anstelle des verschachtelten if
-Anweisungen verwenden wir die logischen and
Operator und elif
.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Schlussfolgerung #
Der if
, if..else
und if..elif..else
-Anweisungen können Sie den Ablauf der Python-Ausführung steuern, indem Sie bestimmte Bedingungen auswerten.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.