Najlepszym i najdokładniejszym sposobem myślenia passjest sposób, aby wyraźnie powiedzieć tłumaczowi, aby nic nie robił. W ten sam sposób następujący kod:
def foo(x,y):
return x+y
oznacza „jeśli wywołam funkcję foo (x, y), zsumuj dwie liczby, które reprezentują etykiety xiy i przekaż wynik”,
def bar():
pass
oznacza „Jeśli wywołam funkcję bar (), nie rób absolutnie nic”.
Pozostałe odpowiedzi są całkiem poprawne, ale przydają się również w przypadku kilku rzeczy, które nie wymagają trzymania miejsca.
Na przykład w odrobinie kodu, nad którym niedawno pracowałem, konieczne było podzielenie dwóch zmiennych, a dzielnik mógł mieć wartość zero.
c = a / b
wytworzy oczywiście ZeroDivisionError, jeśli b wynosi zero. W tej konkretnej sytuacji pozostawienie c jako zera było pożądanym zachowaniem w przypadku, gdy b było zerem, więc użyłem następującego kodu:
try:
c = a / b
except ZeroDivisionError:
pass
Innym, mniej standardowym sposobem użycia jest przydatne miejsce do ustawienia punktu przerwania dla debuggera. Na przykład chciałem, aby trochę kodu włamało się do debuggera podczas dwudziestej iteracji instrukcji for ... in. Więc:
for t in range(25):
do_a_thing(t)
if t == 20:
pass
z punktem przerwania przy przejściu.
passże przydałoby się, gdy chcesz zastąpić metodę w podklasie, aby nic nie robić.