Python pass ist ein Platz­hal­ter, der ver­hin­dert, dass das Programm eine Feh­ler­mel­dung ausgibt. Durch die Anweisung bleibt die Syntax gewahrt.

Was ist Python pass?

In erster Linie fungiert Python pass als Platz­hal­ter ohne weitere grund­le­gen­de Funk­tio­nen. Unter Umständen kann es wichtig sein, ein Statement im Code zu hin­ter­le­gen, das das Programm anweist wei­ter­zu­lau­fen. So werden Probleme in Python ver­hin­dert. Ein typisches Beispiel für einen solchen Fall ist ein Code, bei dem zwar bereits ein Platz für eine Funktion ge­schaf­fen wurde, diese aber noch nicht im­ple­men­tiert oder aus­ge­ar­bei­tet ist. Würde man den Body hier leer lassen, bekäme man eine Feh­ler­mel­dung aus­ge­spielt. Durch Python pass wird das ver­hin­dert. Später kann dann der Platz­hal­ter durch die ei­gent­li­che Funktion ersetzt werden und der Code bleibt korrekt.

Wie wird Python pass ein­ge­setzt?

Python pass wird lediglich durch den Befehl pass aus­ge­drückt und innerhalb des Code­blocks ein­ge­setzt. Gerade in Schleifen, für die eine bestimmte Funktion noch nicht definiert wurde, kommt Python pass zum Einsatz. Häufig wird der Platz­hal­ter hinter einer if-Anweisung ein­ge­setzt. Das sieht dann so aus:

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

Python pass kann auch mit anderen State­ments kom­bi­niert werden.

Wie funk­tio­niert Python pass?

Die Funk­ti­ons­wei­se von Python pass, etwa in einer Schleife, ähnelt also ein wenig dem eines Po­li­zei­ein­sat­zes, der den Verkehr regelt und diesen an einer Un­fall­stel­le vor­bei­lenkt. Das Programm beginnt den ersten Durchlauf, fragt eine de­fi­nier­te Bedingung ab und überprüft, ob diese true (also wahr) oder false (also unwahr) ist, und verfährt dem­entspre­chend. Hat die Ent­wick­le­rin oder der Ent­wick­ler an dieser Stelle al­ler­dings keine Kon­se­quenz eingebaut, würde das Programm hier einen Fehler ausgeben. Python pass lenkt das Programm nun an dieser „Un­fall­stel­le“ vorbei und sorgt dafür, dass die Abfrage ohne Un­ter­bre­chung wei­ter­lau­fen kann.

Python pass in einer for-Schleife

Mit den passenden Bei­spie­len können Sie schnell erkennen, wofür Python pass genutzt wird und was die Vorteile dieser Anweisung sind. Im ersten Beispiel soll eine Zah­len­rei­he mit einer Python-for-Loop erstellt werden. Dafür zählt das Programm von 0 an immer weiter hoch. Die Ab­bruch­be­din­gung ist, dass die Zahl nicht größer oder gleich 10 werden soll. Durch eine Python-if-else-Anweisung würde man nor­ma­ler­wei­se eine Ein­schrän­kung einfügen, sobald der Zähler die 8 erreicht. Python pass hebt diese Ein­schrän­kung al­ler­dings auf und bedeutet dem Programm, einfach wei­ter­zu­ma­chen.

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 durch­ge­lau­fen und habe ohne Un­ter­bre­chung von 0 bis 9 gezählt. Hätten Sie an dieser Stelle al­ler­dings die pass-Anweisung weg­ge­las­sen, wäre die if-Anweisung un­voll­stän­dig gewesen und das Programm hätte einen Fehler aus­ge­ge­ben. Es ist also auch nicht so, dass Python pass ignoriert wird: Statt­des­sen teilt die Anweisung dem Programm einfach mit, dass es die aktuelle (un­voll­stän­di­ge) Zeile igno­rie­ren und sich auf kommende An­wei­sun­gen kon­zen­trie­ren soll.

Python pass in einer while-Schleife

Auch in einer einfachen Python-while-Schleife, die aus dem Python-Tutorial bekannt ist, kann Python pass ein­ge­setzt werden. In diesem Beispiel soll die Schleife über­prü­fen, ob eine Zahl kleiner ist als 5. Da die Kon­se­quenz (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 durch­lau­fen.

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

Python pass in einer Klasse

Zu­sätz­lich funk­tio­niert Python pass auch innerhalb einer Klasse der Internet-Pro­gram­mier­spra­che. Das ist dann hilfreich, wenn Sie zwar bereits die class angelegt haben, aber noch nicht alle Inhalte bekannt sind. In diesem Beispiel sollen Fahrzeuge un­ter­schie­den werden, die auf einen Hof fahren. Während es für PKW und LKW bereits konkrete Hand­lungs­an­wei­sun­gen 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 Un­ter­schie­de zu break und continue

Zwar ähnelt Python pass den An­wei­sun­gen break und continue, es gibt al­ler­dings auch einige ganz ent­schei­den­de Un­ter­schie­de. Alle drei An­wei­sun­gen sind dazu geeignet, eine Schleife oder ein Programm vor Fehlern zu bewahren. Während jedoch Python pass lediglich bewirkt, dass das Programm ord­nungs­ge­mäß wie­ter­lau­fen kann, greifen break und continue deutlich um­fas­sen­der in den Ablauf ein. Die break-Anweisung sorgt dafür, dass eine Schleife komplett ab­ge­bro­chen wird, falls vor ihrem Ende eine Zwi­schen­be­din­gung nicht mehr erfüllt wird. Die continue-Anweisung bewirkt, dass eine Schleife bei einem be­stimm­ten externen Ereignis un­ter­bro­chen und danach fort­ge­führt wird. Mehr dazu erfahren Sie im Artikel zu Python break und continue.

Unnötige Ver­wen­dung von Python pass

Weil Python pass im Prinzip das Programm zum Nichtstun auf­for­dert, ist die Anweisung in manchen Fällen über­flüs­sig. Zwar ist der Einsatz dann nicht falsch, ließe man Python pass al­ler­dings 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" )

Durch­lä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 un­ver­än­dert, gleich­zei­tig bliebe Ihr Code aber kürzer und damit über­sicht­li­cher. Auch wenn Python pass also nur wenig tut, sollte es nicht in­fla­tio­när verwendet werden. Setzen Sie es statt­des­sen nur an jenen Stellen ein, die ansonsten sehr anfällig für Fehler wären.

Zum Hauptmenü