Seite 1 von 1

IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:05
von Krumnix
Hallo.

Komme eher aus dem Bereich C++/C# und habe bei IF eine Frage.

In C gebe ich durch die Klammern ja an, was alles bei erfolgreicher IF-Bedingung bearbeitet werden soll.
In Python habe ich das jetzt nicht.

Für mich stellt sich die Frage, wie das System nun wissen soll, wann ich eine Bearbeitung nicht mehr zur IF-Bedingung haben möchte.

Beispiel:

Code: Alles auswählen

IF (A > B) { 
BlaBlaBla
......
BlaBlaBla
}
Wie mache ich das in Python?

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:14
von Sirius3
Bei Python wird das durch die Einrückung festgelegt.

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:16
von __deets__
Durch Einrueckungen.

Code: Alles auswählen

if  a > b:
     BlaBlaBla
     BlaBlaBla
DingeDieNichtVomIfBetroffenSind
Und die Ironie ist, dass man das in allen anderen Sprachen ja auch macht:

Code: Alles auswählen

IF (A > B) { 
BlaBlaBla
......
BlaBlaBla
}
schreibt ja keiner.

Code: Alles auswählen

IF (A > B) { 
    BlaBlaBla
    ......
    BlaBlaBla
}
ist die Art, wie man das Formatiert. Natuerlich ist das dem Compiler egal, aber Code wird von denen ja auch nur uebersetzt, *verstanden* werden muss er von Menschen, und die brauchen die Einrueckungen :)

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:16
von /me
Alles was eingerückt ist gehört zum jeweiligen Block.

Code: Alles auswählen

if a > b:
    do_things()
    do_other_things()
    
x = y
Das x=y ist nicht mehr eingerückt und gehört damit nicht mehr zur if-Anweisung.

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:19
von Krumnix
Ok. Also rein durch das Einrücken? Gibt es da eine bestimmte Vorgabe, wieviel? 3 Zeichen, 4 Zeichen?

Und wie verhält es sich, wenn ich Kommentare einfüge oder zur besseren Lesbarkeit Leerzeilen einfüge?

Beispiel:

Code: Alles auswählen

if not A:
   Tu das
   Tu dies
# Kommentar
   Tu weiteres
   Tu immer noch was

   Tu es weiterhin
   
   Tu es am besten nochmal

Nun mache was, was nicht zu IF gehört 

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:21
von Krumnix
__deets__ hat geschrieben: Dienstag 7. August 2018, 10:16

Code: Alles auswählen

IF (A > B) { 
    BlaBlaBla
    ......
    BlaBlaBla
}
ist die Art, wie man das Formatiert. Natuerlich ist das dem Compiler egal, aber Code wird von denen ja auch nur uebersetzt, *verstanden* werden muss er von Menschen, und die brauchen die Einrueckungen :)
Ja, das war jetzt quickanddirty :)
Natürliche rücke ich auch bei anderen Sprachen ein. Nur war mir nicht bewusst, dass durch das Einrücken in Python sozusagen die Klammer "definiert"

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:22
von __deets__
Es gibt das PEP8, das beschreibt akzeptierte Konventionen zur Benennung von Variablen (die von dir verwandten Grossbuchstaben zB sind fuer Konstanten). Und das legt 4 Spaces pro Einrueckungsebene fest. Der Interpreter ist da flexibler.

Die Kommentare sind diesbezueglich egal, aber ich wuerde sie einruecken auf die Tiefe des Blocks, auf den sie sich beziehen. Und jeder vernuenftige Editor sorgt da auch von alleine fuer, genauso wie er auch gleich die Blocktiefe vorgibt, wenn man einfach return drueckt.

Re: IF-Abfrage

Verfasst: Dienstag 7. August 2018, 10:25
von Krumnix
Mir geht es nur um das Verständnis bei IF. Das nachher alles Lesbar eingerückt werden soll, versteht sich von selbst.
Somit ist es mir nun klar, wie Python tickt.

Danke!