# Keine Leerzeichen direkt vor Klammer # richtig spam(ham[1], {eggs: 2}) # falsch spam( ham[ 1 ], { eggs: 2 } ) # Nie zwischen letztem Komma und schließender Klammer # richtig werte = (0, 1,) # falsch werte = (0, 1, ) # Nicht unmittelbar vor einem Komma, Semikolon oder Doppelpunkt # richtig if x == 4: print x, y x, y = y, x # falsch if x == 4 : print x , y x , y = y , x # Sonderfall Slices # In einem Slice verhält sich der Doppelpunkt jedoch wie ein binärer # Operator und sollte auf beiden Seiten gleiche Mengen aufweisen # (er wird als der Operator mit der niedrigsten Priorität behandelt). # In einem erweiterten Slice müssen beide Doppelpunkte den gleichen # Abstand aufweisen. Ausnahme: Wenn ein Slice-Parameter weggelassen wird, # wird der Platz weggelassen. # richtig ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:] ham[lower:upper], ham[lower:upper:], ham[lower::step] ham[lower+offset : upper+offset] ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)] ham[lower + offset : upper + offset] # falsch ham[lower + offset:upper + offset] ham[1: 9], ham[1 :9], ham[1:9 :3] ham[lower : : upper] ham[ : upper] # Kein Leerzeichen nmittelbar vor der offenen Klammer, die die # Argumentenliste eines Funktionsaufrufs startet. # richtig fp = open("/pfad/auf/meine/datei") # falsch fp = open ("/pfad/auf/meine/datei") # Keine Leerzeichen unmittelbar vor der offenen Klammer, die eine # Indexierung oder ein Slicing startet. # richtig namenliste['schluessel'] = lst[index] #falsch namenliste ['schluessel'] = lst [index] # Nicht mehr als ein Leerzeichen um einen zugewiesenen (oder anderen) # Operator herum, um ihn miteinander auszurichten. # richtig x = 1 y = 2 langer_name = 3 # falsch x = 1 y = 2 langer_name = 3 # ----------------------------- # Allgemeine weitere Vorschläge # # Meide überall "nachschleppende" Leerzeichen am Zeilenende # Folgende Operatoren immer mit einem Leerzeichen umgeben # Zuweisungen (=) # Erweiterte Zuweisungen (+=, -=, etc.) # Vergleiche (==, <, >, !=, <>, <=, >=, in, not in, is, is not) # Bool’sche Ausdrücke (and, or, not) # Leerzeichen bei Operatoren mit unterschiedlichen Prioritäten # Wenn Operatoren mit unterschiedlichen Prioritäten verwendet werden, # empfiehlt es sich, Leerzeichen um die Operatoren mit der niedrigsten # Priorität(en) hinzuzufügen. Verwende dein eigenes Urteilsvermögen; # jedoch nie mehr als ein Leerzeichen und habe immer die gleiche Menge # an Leerzeichen auf beiden Seiten eines binären Operators. # richtig i = i + 1 zaehler += 1 x = x*2 - 1 hypot2 = x*x + y*y c = (a+b) * (a-b) # falsch i=i+1 submitted +=1 x = x * 2 - 1 hypot2 = x * x + y * y c = (a + b) * (a - b)