Bên cạnh việc sử dụng nó như một trình giữ chỗ cho các chức năng chưa được thực hiện, passcó thể hữu ích trong việc điền vào một câu lệnh if-other ("Rõ ràng là tốt hơn so với ẩn.")
def some_silly_transform(n):
# Even numbers should be divided by 2
if n % 2 == 0:
n /= 2
flag = True
# Negative odd numbers should return their absolute value
elif n < 0:
n = -n
flag = True
# Otherwise, number should remain unchanged
else:
pass
Tất nhiên, trong trường hợp này, người ta có thể sẽ sử dụng returnthay vì gán, nhưng trong trường hợp mong muốn đột biến, điều này hoạt động tốt nhất.
Việc sử dụng passở đây đặc biệt hữu ích để cảnh báo những người duy trì trong tương lai (bao gồm cả chính bạn!) Không được đặt các bước dư thừa bên ngoài các tuyên bố có điều kiện. Trong ví dụ trên, flagđược đặt trong hai trường hợp được đề cập cụ thể, nhưng không phải trong trường hợp else. Nếu không sử dụng pass, một lập trình viên tương lai có thể chuyển flag = Truesang bên ngoài điều kiện, do đó thiết lập flagtrong mọi trường hợp.
Một trường hợp khác là với chức năng soạn sẵn thường thấy ở dưới cùng của tệp:
if __name__ == "__main__":
pass
Trong một số tệp, có thể tốt hơn là để lại ở đó passđể cho phép chỉnh sửa dễ dàng hơn sau đó và để làm rõ rằng không có gì được dự kiến sẽ xảy ra khi tệp tự chạy.
Cuối cùng, như đã đề cập trong các câu trả lời khác, có thể hữu ích khi không làm gì khi ngoại lệ bị bắt:
try:
n[i] = 0
except IndexError:
pass
passsẽ hữu ích khi bạn muốn ghi đè một phương thức trong một lớp con để không làm gì cả.