Anmerkungen zur if-Anweisung in Python (Anmerkungen zur if-Anweisung in Python), Spiel, Seite 724525
https://www.purl.org/stefan_ram/pub/anmerkungen_if_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Anmerkungen zur if-Anweisung in Python 

Teilnehmerfrage Wann verwendet man den if-Ausdruck und wann die if-Anweisung?

Die if-Anweisung erlaubt es zu steuern, ob eine Anweisung ausgeführt  wird, der if-Ausdruck erlaubt es zu steuern, welcher von zwei Ausdrücken ausgewertet  wird.

Wenn eine Anweisung nur unter einer bestimmten Bedingung ausgeführt werden soll und diese Anweisung kein Ausdruck ist, dann muß eine if-Anweisung verwendet werden, da ein if-Ausdruck nur Ausdrücke, aber keine Anweisungen enthalten kann. Insbesondere gilt dies, wenn ganze (mehrzeilige) Suiten von Anweisungen unter einer bestimmten Bedingung ausgeführt werden sollen.

Im folgenden Beispiel muß eine if-Anweisung verwendet werden. Denn weil eine return-Anweisung kein Ausdruck ist, kann sie nicht in einem if-Ausdruck enthalten sein.

if-Anweisung
if i > 0:
return "positiv"
else:
return "nicht positiv"

Jedoch ist es hier nicht wirklich nötig, zwischen zwei Anweisungen zu unterscheiden. Denn eigentlich soll nur der zurückzugebende Wert  ausgewählt werden. Daher kann hier doch ein if-Ausdruck verwendet werden, wenn das »return« vor die Verzweigung gezogen wird.

return-Anweisung
return "positiv" if i > 0 else "nicht positiv"
return-Anweisung
return( "" if i > 0 else "nicht" )+ "positiv"

Wenn ein Ausdruck benötigt wird, der Teil einer größeren Anweisung sein soll, muß ein if-Ausdruck verwendet werden, da eine if-Anweisung kein Ausdruck ist.

In manchen Fällen erlaubt der if-Ausdruck eine etwas kürzere Formulierung.

if-Anweisung
if i > 0:
print( "positiv" )
else:
print( "nicht positiv" )
if-Ausdruck (mit unnötiger Wiederholung von »print«)
print( "positiv" )if i > 0 else print( "nicht positiv" )
if-Ausdruck (ohne unnötige Wiederholung von »print«)
print( "positiv" if i > 0 else "nicht positiv" )

In einigen Fällen könnte sowohl ein if-Ausdruck als auch eine if-Anweisung verwendet werden. Dann ist es eine Frag des Programmierstils. Der if-Ausdruck erlaubt es, eine Verzweigung sozusagen „unauffällig“ in einer größeren Anweisung zu „verstecken“, wenn der Verzweigung weniger Gewicht gegeben soll. Die if-Anweisung breitet die Entscheidung auffällig über mehrere Zeilen aus, und betont sie dadurch besonders. Sie ist dadurch für Anfänger wahrscheinlich auch besser les- und schreibbar. Insbesondere verschachtelte if-Ausdrücke können leicht unübersichtlich werden, während Verschachtelte if-Anweisungen wegen der Aufteilung auf mehrere Zeilen und der Einrückung noch eher gut lesbar bleiben.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724525 stefan_ram:724525 Anmerkungen zur if-Anweisung in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724525, slrprddef724525, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/anmerkungen_if_python