In Python we use the "pass" keyword (a statement) to indicate that nothing happens—the function, class
or loop is empty. It is sometimes needed for correct syntax.
With pass, we indicate a "null
" block. Pass can be placed on the same line, or on a separate line. Pass can be used to quickly add things that are unimplemented.
Here we use the "pass" statement on two methods. These methods do nothing. But they can be called in Python code.
# This function does nothing. # ... It is empty. def test(n): pass # Pass can be on a separate line. def test_two(n): pass # Call our empty functions. test(10) test(200) test_two(10) test_two(200) # We are done. print("DONE")DONE
Class
exampleSometimes we use the "pass" statement in a class
. When we first add a class
, we might not be ready to add its entire contents. Pass is helpful.
# An empty class. class Box: pass # A class with an empty method. class Bird: def chirp(self): print("Bird chirped") def fly(self): pass # Create empty class. x = Box() # Create class and call empty method. b = Bird() b.fly() # Program is done. print("Z")Z
Here we use pass in an if
-statement. If a method has a side effect, we sometimes might want to call it even if we do not do anything afterwards.
elif
" clauses afterwards. This sometimes makes code clearer to read.# This method has a side effect. # ... It prints a word. def equals(name, value): print("equals") return name == value name = "snake" # Use if-statement with a method that has a side effect. # ... Use pass to ignore contents of block. if equals(name, "snake"): passequals
With a while
-loop, we can use a "pass" statement. Sometimes we want to keep calling a method while a condition is true. With pass we can use an empty loop body.
import random def x(): # Print and return a random int. result = random.randint(0, 5) print(result) return result # Continue calling x while its value is at least 1. # ... Use no loop body. while x() >= 1: pass print("DONE")2 3 1 3 1 4 3 4 0 DONE
Python has a full-featured group of keywords. But it has no semicolons. So we must indicate an empty line with a special keyword. That is "pass".