Перейти к основному содержимому

Оператор pass

Python не допускает пустой оператор if. Если в вашем по какой-то причине нет содержимого, напишите в нём pass, чтобы избежать ошибки.

При выполнении pass ровным счётом ничего не происходит. Это пустая операция, единственная задача которой — занимать место.

Пример

Prompt
Напишите программу на Python, которая использует оператор pass внутри блока if. Присвойте a = 33 и b = 200, затем проверьте, что b > a, и используйте pass как заполнитель.
Вывод: полная программа на Python

Зачем нужен pass?

Вот несколько ситуаций, в которых pass будет кстати:

  • Вы набрасываете структуру кода, прежде чем писать логику
  • Синтаксис требует оператор, но никаких действий не нужно
  • Вам нужен заполнитель для будущего кода во время разработки
  • Функция или класс остаётся пустым, пока вы не реализуете его позже

pass при разработке

Иногда хочется сначала наметить общий вид программы, а детали заполнить позже. Если поставить pass в пустых местах, в таком черновике не будет синтаксических ошибок.

Пример

Заполнитель для будущего кода:

Prompt
Напишите программу на Python, которая использует pass как заполнитель во время разработки. Присвойте age значение 16 и используйте pass в блоке if для логики несовершеннолетних, а в ветке else выведите «Доступ разрешён».
Вывод: полная программа на Python

pass и комментарии

Python полностью пропускает комментарии, а pass — это настоящий оператор, который действительно выполняется, хотя и не имеет никакого эффекта. Поэтому там, где Python ожидает оператор, одного комментария недостаточно и нужен pass.

Пример

С pass этот код работает без проблем:

Prompt
Напишите программу на Python, которая показывает, что pass работает там, где один комментарий вызвал бы ошибку. Используйте pass в блоке if для score > 90, затем выведите «Оценка обработана».
Вывод: полная программа на Python

Пример

Если есть только комментарии, блок пуст и вы получите ошибку:

main.py
score = 85

if score > 90:
  # This is excellent
  # This will raise an IndentationError

pass при нескольких условиях

pass можно использовать в любой ветке оператора if-elif-else, а не только в первой.

Пример

Использование pass в ветке elif:

Prompt
Напишите программу на Python, использующую pass в ветке elif оператора if-elif-else. Проверьте, является ли value отрицательным, нулём (используйте pass) или положительным.
Вывод: полная программа на Python

pass в других контекстах

На этой странице рассматривается pass в операторах if, но он также часто встречается в циклах, функциях и классах.

Пример

pass как тело функции:

Prompt
Напишите программу на Python, которая определяет функцию с pass в качестве заполнителя. Создайте функцию calculate_discount(price), которая пока ничего не делает.
Вывод: полная программа на Python