Seite 1 von 1

Verständnisfrage zum Einrücken in Funktionen

Verfasst: Montag 23. März 2009, 08:31
von Becks
Hallo zusammen,

hab relativ lange an meiner Funktion getüftelt bis ich sie ohne Fehler zum laufen gebracht habe.

Dabei hab ich mich dann gefragt was an meiner Einrückung falsch war:

Fehlerhaftes einrücken

Code: Alles auswählen

def searchAudio(text):
	audio = ["LD", "MD", "AC3"]
    if any(format in text for format in audio):
       result = [format for format in audio if format in text]
       string = "".join(result)
    return string
Fehlerfreies einrücken

Code: Alles auswählen

def searchAudio(text):
	audio = ["LD", "MD", "AC3"]
        if any(format in text for format in audio):
         result = [format for format in audio if format in text]
         string = "".join(result)
        return string
Was ist falsch daran, wenn ich die if auf gleicher Höhe mit dem audio habe?
Erst nachdem ich die if weiter einrückte und alles untendrann funktionierte es. Das return ist nun auf gleicher Höhe mit dem if. Warum muss nicht alles auf gleiche Höhe mit dem audio? Ich arbeite mit PyDev und dies hat mir die Einrückung nach der Funktion vorgegeben, da hab ich dann meine Liste audio plaziert mit der Annahme alles müsse auf gleicher Höhe darunter, wohl falsch gedacht.

Viele Grüße & Dank,
Becks

Verfasst: Montag 23. März 2009, 08:36
von tordmor
Das erste ist korrekt. Dein Fehler lag wo anders. Möglicherweise Mischung von Tab und Space?

Edit: Korrekt nur was Einrückung betrifft. Bei der return Zeile ist string nicht belegt wenn die if Abfrage falsch ergibt.

Verfasst: Montag 23. März 2009, 08:41
von Becks
okay, vielen dank.

Weil gerade erstelle ich eine weitere Funktion, und dort konnte ich wie im 1. Bsp einrücken, nur dass ich den Inhalt der if nicht mit einem Tab einrücken, sonder mit 2 einrücken musste.

Verfasst: Montag 23. März 2009, 09:14
von Darii
Tu dir selbst einen gefallen und rücke immer auf die selbe Art und weise ein. Also entweder Tabs oder Leerzeichen. Laut pep08 sollte man 4 Leerzeichen benutzen, dass kann man in den meisten Editoren auch einstellen.

Es gibt in Python keinen Fall wo du mal mit Tab einrücken kannst und woanders mit irgendetwas anderem Einrücken *musst*. Wenn das bei dir der Fall ist, hast du schon vorher irgendein anderes (Einrückungs)Problem. Achte einfach darauf womit du einrückst und mach es überall ohne Ausnahme gleich, dann hast du keine Probleme.

Verfasst: Montag 23. März 2009, 09:42
von Darii
Darii hat geschrieben:Rücke immer auf die selbe Art und weise ein. Also entweder Tabs oder Leerzeichen. Laut pep08 sollte man 4 Leerzeichen benutzen, dass kann man in den meisten Editoren auch einstellen.

Es gibt in Python keinen Fall wo du mal mit Tab einrücken kannst und woanders mit irgendetwas anderem Einrücken *musst*. Wenn das bei dir der Fall ist, hast du schon vorher irgendein anderes (Einrückungs)Problem. Achte einfach darauf womit du einrückst und mach es überall ohne Ausnahme gleich, dann hast du keine Probleme.

Verfasst: Montag 23. März 2009, 10:39
von Goswin
Darii hat geschrieben:Laut pep08 sollte man 4 Leerzeichen benutzen.
Ich hätte gern eure Meinung darüber, ob diese "Empfehlung" irgendeine Drohung mit dem Damoklesschwert ist, im Sinne dass 4 Leerzeichen künftig als bindende Vorschrift vorgeschlagen werden.

Verfasst: Montag 23. März 2009, 10:48
von lunar
Goswin hat geschrieben:
Darii hat geschrieben:Laut pep08 sollte man 4 Leerzeichen benutzen.
Ich hätte gern eure Meinung darüber, ob diese "Empfehlung" irgendeine Drohung mit dem Damoklesschwert ist, im Sinne dass 4 Leerzeichen künftig als bindende Vorschrift vorgeschlagen werden.
Der Interpreter erzwingt dieser Einrückung nicht, falls du das wissen wolltest.