Python pass: Wie funktioniert der Platzhalter?

Python pass ist ein Platzhalter, der verhindert, dass das Programm eine Fehlermeldung ausgibt. Durch die Anweisung bleibt die Syntax gewahrt.

Was ist Python pass?

In erster Linie fungiert Python pass als Platzhalter ohne weitere grundlegende Funktionen. Unter Umständen kann es wichtig sein, ein Statement im Code zu hinterlegen, das das Programm anweist weiterzulaufen. So werden Probleme in Python verhindert. Ein typisches Beispiel für einen solchen Fall ist ein Code, bei dem zwar bereits ein Platz für eine Funktion geschaffen wurde, diese aber noch nicht implementiert oder ausgearbeitet ist. Würde man den Body hier leer lassen, bekäme man eine Fehlermeldung ausgespielt. Durch Python pass wird das verhindert. Später kann dann der Platzhalter durch die eigentliche Funktion ersetzt werden und der Code bleibt korrekt.

Wie wird Python pass eingesetzt?

Python pass wird lediglich durch den Befehl pass ausgedrückt und innerhalb des Codeblocks eingesetzt. Gerade in Schleifen, für die eine bestimmte Funktion noch nicht definiert wurde, kommt Python pass zum Einsatz. Häufig wird der Platzhalter hinter einer if-Anweisung eingesetzt. Das sieht dann so aus:

if x:
print ( "y" )
else:
pass

Python pass kann auch mit anderen Statements kombiniert werden.

Wie funktioniert Python pass?

Die Funktionsweise von Python pass, etwa in einer Schleife, ähnelt also ein wenig dem eines Polizeieinsatzes, der den Verkehr regelt und diesen an einer Unfallstelle vorbeilenkt. Das Programm beginnt den ersten Durchlauf, fragt eine definierte Bedingung ab und überprüft, ob diese true (also wahr) oder false (also unwahr) ist, und verfährt dementsprechend. Hat die Entwicklerin oder der Entwickler an dieser Stelle allerdings keine Konsequenz eingebaut, würde das Programm hier einen Fehler ausgeben. Python pass lenkt das Programm nun an dieser „Unfallstelle“ vorbei und sorgt dafür, dass die Abfrage ohne Unterbrechung weiterlaufen kann.

Python pass in einer for-Schleife

Mit den passenden Beispielen können Sie schnell erkennen, wofür Python pass genutzt wird und was die Vorteile dieser Anweisung sind. Im ersten Beispiel soll eine Zahlenreihe mit einer Python-for-Loop erstellt werden. Dafür zählt das Programm von 0 an immer weiter hoch. Die Abbruchbedingung ist, dass die Zahl nicht größer oder gleich 10 werden soll. Durch eine Python-if-else-Anweisung würde man normalerweise eine Einschränkung einfügen, sobald der Zähler die 8 erreicht. Python pass hebt diese Einschränkung allerdings auf und bedeutet dem Programm, einfach weiterzumachen.

zahl = 0
for zahl in range ( 10 ):
if zahl = 8:
	pass
	print ( "Die aktuelle Zahl lautet: " + str ( zahl ))
print ( "Die Zählung ist beendet" )

Die Ausgabe lautet nun wie folgt:

Die aktuelle Zahl lautet: 0
Die aktuelle Zahl lautet: 1
Die aktuelle Zahl lautet: 2
Die aktuelle Zahl lautet: 3
Die aktuelle Zahl lautet: 4
Die aktuelle Zahl lautet: 5
Die aktuelle Zahl lautet: 6
Die aktuelle Zahl lautet: 7
Die aktuelle Zahl lautet: 8
Die aktuelle Zahl lautet: 9
Die Zählung ist beendet

In der Ausgabe sieht es also so aus, als sei einfach eine Schleife normal durchgelaufen und habe ohne Unterbrechung von 0 bis 9 gezählt. Hätten Sie an dieser Stelle allerdings die pass-Anweisung weggelassen, wäre die if-Anweisung unvollständig gewesen und das Programm hätte einen Fehler ausgegeben. Es ist also auch nicht so, dass Python pass ignoriert wird: Stattdessen teilt die Anweisung dem Programm einfach mit, dass es die aktuelle (unvollständige) Zeile ignorieren und sich auf kommende Anweisungen konzentrieren soll.

Python pass in einer while-Schleife

Auch in einer einfachen Python-while-Schleife, die aus dem Python-Tutorial bekannt ist, kann Python pass eingesetzt werden. In diesem Beispiel soll die Schleife überprüfen, ob eine Zahl kleiner ist als 5. Da die Konsequenz (else) noch nicht definiert ist, würde das Programm hier beim Durchlauf einen Fehler erkennen, sobald die Zahl gleich oder größer 5 ist, und dann einen Fehler ausgeben. Durch Python pass kann das Programm hingegen einfach durchlaufen.

counter = 0
	while counter < 5:
		print ( "Die Zahl ist kleiner als 5" )
		counter = counter + 1
	else:
		pass

Python pass in einer Klasse

Zusätzlich funktioniert Python pass auch innerhalb einer Klasse der Internet-Programmiersprache. Das ist dann hilfreich, wenn Sie zwar bereits die class angelegt haben, aber noch nicht alle Inhalte bekannt sind. In diesem Beispiel sollen Fahrzeuge unterschieden werden, die auf einen Hof fahren. Während es für PKW und LKW bereits konkrete Handlungsanweisungen gibt, fehlen diese für Fahrräder. Das sieht dann so aus:

class Fahrzeug:
	def PKW ( self ):
		print ( "Ein PKW ist auf den Hof gefahren" )
	def LKW ( self ):
		print ( "Ein LKW ist auf den Hof gefahren" )
	def Fahrrad ( self ):
		pass

Die Unterschiede zu break und continue

Zwar ähnelt Python pass den Anweisungen break und continue, es gibt allerdings auch einige ganz entscheidende Unterschiede. Alle drei Anweisungen sind dazu geeignet, eine Schleife oder ein Programm vor Fehlern zu bewahren. Während jedoch Python pass lediglich bewirkt, dass das Programm ordnungsgemäß wieterlaufen kann, greifen break und continue deutlich umfassender in den Ablauf ein. Die break-Anweisung sorgt dafür, dass eine Schleife komplett abgebrochen wird, falls vor ihrem Ende eine Zwischenbedingung nicht mehr erfüllt wird. Die continue-Anweisung bewirkt, dass eine Schleife bei einem bestimmten externen Ereignis unterbrochen und danach fortgeführt wird. Mehr dazu erfahren Sie im Artikel zu Python break und continue.

Unnötige Verwendung von Python pass

Weil Python pass im Prinzip das Programm zum Nichtstun auffordert, ist die Anweisung in manchen Fällen überflüssig. Zwar ist der Einsatz dann nicht falsch, ließe man Python pass allerdings weg, wäre das Ergebnis identisch und der Code kürzer. Dies ist ein Beispiel für einen solchen Fall:

if 2 + 2 == 4:
print ( "Dieses Ergebnis ist richtig" )
		pass
	print ( "Das war zu erwarten" )

Durchläuft ein Programm jetzt diesen Code, lautet die Ausgabe:

Dieses Ergebnis ist richtig
Das war zu erwarten

Das Ergebnis wäre ohne die pass-Anweisung unverändert, gleichzeitig bliebe Ihr Code aber kürzer und damit übersichtlicher. Auch wenn Python pass also nur wenig tut, sollte es nicht inflationär verwendet werden. Setzen Sie es stattdessen nur an jenen Stellen ein, die ansonsten sehr anfällig für Fehler wären.