Skip to content

L’instruction pass en Python

En Python, l’instruction pass ne fait rien. Il est utilisé lorsque vous devez écrire quelque chose de manière syntaxique mais que vous ne devez rien faire.

Cet article décrit d’abord ce que passe signifie en Python.

  • Que signifie l’instruction pass en Python
  • Différence entre passer et continuer

Après cela, cet article décrit comment utiliser l’instruction pass avec des exemples spécifiques.

  • Définir une fonction et une classe vides avec pass
  • Créer un fichier vide avec pass
  • Précisez que rien n’est fait dans if … elif … else … with pass
  • Ne rien faire dans la gestion des exceptions (= ignorer les exceptions) avec pass

Que signifie l’instruction pass en Python

Comme vous pouvez le voir dans la documentation officielle, l’instruction pass ne fait rien.

pass est une opération nulle – lorsqu’elle est exécutée, rien ne se passe. Il est utile comme espace réservé lorsqu’une instruction est requise syntaxiquement, mais qu’aucun code n’a besoin d’être exécuté
7. Instructions simples – L’instruction pass — Documentation Python 3.9.1

En Python, le contenu ne peut pas être omis dans l’instruction def de la définition de la fonction et l’instruction if de la branche conditionnelle. Vous pouvez utiliser l’instruction pass lorsque vous devez écrire quelque chose, mais vous n’avez rien à faire.

Différence entre passer et continuer

Si l’instruction continue est utilisée dans la boucle for ou while, elle passera à l’étape suivante sans exécuter le code écrit après continue.

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

D’autre part, l’instruction pass ne fait rien, donc le code écrit après l’instruction pass est exécuté.

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

Définir une fonction et une classe vides avec pass

Vous devrez peut-être définir une fonction ou une classe vide lorsque vous souhaitez d’abord définir une fonction ou une classe, puis reporter l’implémentation.

Si rien n’est écrit dans l’instruction def, une erreur est générée.

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

Vous pouvez définir une fonction vide qui ne fait rien avec l’instruction pass.

Il en est de même pour la classe.

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

class EmptyClass():
    pass

Bien que cela ne soit pas recommandé dans PEP8 (E701), écrire pass après deux-points : ne génère pas d’erreur.

def empty_func_one_line(): pass

class EmptyClassOneLine(): pass

Créer un fichier vide avec pass

Pour créer un nouveau fichier, utilisez with et open() en mode écriture w.

Normalement, le contenu du fichier est écrit par la méthode write(), etc., mais un fichier vide peut être créé en utilisant l’instruction pass.

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

Vous pouvez également écrire sur une seule ligne comme décrit ci-dessus.

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

En Python 3.4 et versions ultérieures, il est également possible de créer un fichier vide avec touch() du module pathlib.

Précisez que rien n’est fait dans if … elif … else … with pass

Vous ne pouvez pas omettre le contenu de chaque bloc dans if … elif … else ….

Utilisez l’instruction pass lorsque vous souhaitez reporter l’implémentation ou lorsqu’elle facilite la compréhension de l’intention du code en indiquant explicitement que rien n’est fait.

a = 3
if a % 2 == 0:
    print('Even')
else:
    pass

Ne rien faire dans la gestion des exceptions (= ignorer les exceptions) avec pass

Lorsqu’une exception se déclenche, un message d’erreur est généré et le processus est terminé.

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

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

Vous pouvez utiliser try pour intercepter une exception et prendre des mesures. Si une exception est interceptée, le processus continue sans se terminer.

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

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

Utilisez l’instruction pass si vous souhaitez intercepter une exception et ne rien faire. Même si une exception se déclenche, le processus peut continuer sans rien faire.

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

divide_exception_pass(1, 0)

Consultez l’article suivant pour plus de détails sur la gestion des exceptions dans Python.