A Byte of Python

Logische und physikalische Zeilen

Eine physikalische Zeile ist das, was man beim Schreiben eines Programms als Zeile sieht. Eine logische Zeile ist das, was Python als eine einzelne Anweisung ansieht. Python nimmt zunächst einmal implizit an, dass jede physikalische Zeile einer logischen Zeile entspricht.

Ein Beispiel für eine logische Zeile ist eine Anweisung wie print 'Hallo Welt' - wenn sie in einer Zeile für sich steht (wie man sie im Editor sieht), dann entspricht sie auch einer physikalischen Zeile.

Hierdurch legt es Python nahe, pro Zeile nur eine einzige Anweisung zu schreiben, wodurch der Code auch lesbarer wird.

Wenn Sie mehr als eine logische Zeile in einer einzigen physikalischen Zeile angeben wollen, dann müssen Sie dies explizit durch ein Semikolon (;) kennzeichnen, mit dem Sie das Ende einer logischen Zeile/Anweisung markieren. Zum Beispiel bewirkt

		
i = 5
print i
		
		

genau das Gleiche wie

		
i = 5;
print i;
		
		

oder das Gleiche wie

		
i = 5; print i;
		
		

oder auch

		
i = 5; print i
		
		

Ich möchte jedoch die ausdrückliche Empfehlung aussprechen, dass Sie dabei bleiben, eine einzelne logische Zeile pro physikalischer Zeile zu schreiben. Man sollte das Semikolon also möglichst vermeiden, um den Code übersichtlich und lesbar zu halten. Tatsächlich habe ich noch nie ein Semikolon in einem Python-Programm benutzt oder auch nur gesehen. Umgekehrt sollten Sie mehr als eine physikalische Zeile für eine einzelne logische Zeile nur dann benutzen, wenn die logische Zeile wirklich sehr lang ist.

Im Folgenden ein Beispiel dafür, wie man eine logische Zeile schreiben kann, die mehrere physikalische Zeilen umspannt. Dies wird als explizite Zeilenverkettung bezeichnet.

		
s = 'Dies ist ein String. \
Hier geht der String weiter.'
print s
		
		

Dies führt zu folgender Ausgabe:

		
Dies ist ein String. Hier geht der String weiter.
		
		

Entsprechend ist

		
print \
i
		
		

das gleiche wie

		
print i
		
		

Manchmal geht Python implizit von einer Zeilenverkettung aus, so dass man keinen umgekehrten Schrägstrich verwenden muss. Dies ist der Fall, wenn die logische Zeile runde, eckige oder geschweifte Klammern enthält, und vor dem Zeilenende Klammern noch nicht geschlossen wurden. Dies wird implizite Zeilenverkettung genannt. Sie können sehen, wie dies funktioniert, wenn wir in späteren Kapiteln Programme schreiben werden, die Listen verwenden.