IF-Abfrage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Krumnix
User
Beiträge: 10
Registriert: Mittwoch 11. Juli 2018, 09:44

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?
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

Bei Python wird das durch die Einrückung festgelegt.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

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 :)
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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.
Krumnix
User
Beiträge: 10
Registriert: Mittwoch 11. Juli 2018, 09:44

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 
Krumnix
User
Beiträge: 10
Registriert: Mittwoch 11. Juli 2018, 09:44

__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"
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Krumnix
User
Beiträge: 10
Registriert: Mittwoch 11. Juli 2018, 09:44

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!
Antworten