The pass Statement in Python

Modified: | Tags: Python

In Python, the pass statement does nothing. It is used when a syntactically valid statement is required, but no action needs to be performed.

This article first explains the meaning of pass in Python and then describes how to use the pass statement with concrete examples.

What does the pass statement mean in Python

As you can see in the official documentation, the pass statement does nothing.

pass is a null operation — when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically, but no code needs to be executed
7. Simple statements - The pass statement — Python 3.11.3 documentation

In Python, the contents of the def statement in function definitions and the if statement in conditional branches cannot be omitted. You can use the pass statement when you need to write a syntactically valid statement but don't need to perform any action.

Difference between pass and continue

If the continue statement is used in the for or while loop, it will proceed to the next step without executing any code written after continue.

for i in range(3):
    print(i)
    if i == 1:
        continue
        print('CONTINUE')
# 0
# 1
# 2

On the other hand, the pass statement does nothing, so the code written after the pass statement is executed.

for i in range(3):
    print(i)
    if i == 1:
        pass
        print('PASS')
# 0
# 1
# PASS
# 2

Define an empty function and class with pass

You may need to define an empty function or class when you want to define a function or class first and then postpone the implementation.

If nothing is written in the def statement, an error is raised.

# def empty_func():
# SyntaxError: unexpected EOF while parsing

You can define an empty function that does nothing with the pass statement.

def empty_func():
    pass

The same is true for class.

# class EmptyClass():
# SyntaxError: unexpected EOF while parsing

class EmptyClass():
    pass

Although it is not recommended in PEP8 (E701), writing pass after a colon : does not raise an error.

def empty_func_one_line(): pass

class EmptyClassOneLine(): pass

Create an empty file with pass

To create a new file, use with and open() in the write mode w.

Normally, you would use the write() method to write contents to a file, but you can create an empty file using the pass statement instead.

with open('temp/empty.txt', 'w'):
    pass

You can also write it in a single line.

with open('temp/empty.txt', 'w'): pass

In Python 3.4 and later, it is also possible to create an empty file with touch() of the pathlib module.

Clarify that nothing is done in if ... elif ... else ... with pass

You cannot omit the contents of each block in if ... elif ... else ....

Use the pass statement when you want to postpone implementation or make the code's intent clearer by explicitly stating that no action is taken.

a = 3
if a % 2 == 0:
    print('Even')
else:
    pass
source: pass_if.py

Do nothing in exception handling (= ignore exceptions) with pass

When an exception is raised, an error message is output, and the process is terminated.

def divide(a, b):
    print(a / b)

# divide(1, 0)
# ZeroDivisionError: division by zero

You can use try to catch an exception and take action. If an exception is caught, the process continues without terminating.

def divide_exception(a, b):
    try:
        print(a / b)
    except ZeroDivisionError as e:
        print('ZeroDivisionError: ', e)

divide_exception(1, 0)
# ZeroDivisionError:  division by zero

Use the pass statement if you want to catch an exception and do nothing. Even if an exception raises, the process can continue without doing anything.

def divide_exception_pass(a, b):
    try:
        print(a / b)
    except ZeroDivisionError as e:
        pass

divide_exception_pass(1, 0)

See the following article for details on exception handling in Python.

Related Categories

Related Articles