Оператор pass
Python не допускает пустой оператор if. Если в вашем по какой-то причине нет содержимого, напишите в нём pass, чтобы избежать ошибки.
При выполнении pass ровным счётом ничего не происходит. Это пустая операция, единственная задача которой — занимать место.
Пример
Вывод: полная программа на Python
a = 33
b = 200
if b > a:
pass
Зачем нужен pass?
Вот несколько ситуаций, в которых pass будет кстати:
- Вы набрасываете структуру кода, прежде чем писать логику
- Синтаксис требует оператор, но никаких действий не нужно
- Вам нужен заполнитель для будущего кода во время разработки
- Функция или класс остаётся пустым, пока вы не реализуете его позже
pass при разработке
Иногда хочется сначала наметить общий вид программы, а детали заполнить позже. Если поставить pass в пустых местах, в таком черновике не будет синтаксических ошибок.
Пример
Заполнитель для будущего кода:
Вывод: полная программа на Python
age = 16
if age < 18:
pass # TODO: добавить логику для несовершеннолетних позже
else:
print("Доступ разрешён")
pass и комментарии
Python полностью пропускает комментарии, а pass — это настоящий оператор, который действительно выполняется, хотя и не имеет никакого эффекта. Поэтому там, где Python ожидает оператор, одного комментария недостаточно и нужен pass.
Пример
С pass этот код работает без проблем:
Вывод: полная программа на Python
score = 85
if score > 90:
pass # Это отличный результат
print("Оценка обработана")
Пример
Если есть только комментарии, блок пуст и вы получите ошибку:
score = 85
if score > 90:
# This is excellent
# This will raise an IndentationError
pass при нескольких условиях
pass можно использовать в любой ветке оператора if-elif-else, а не только в первой.
Пример
Использование pass в ветке elif:
Вывод: полная программа на Python
value = 50
if value < 0:
print("Отрицательное значение")
elif value == 0:
pass # Случай нуля — действий не требуется
else:
print("Положительное значение")
pass в других контекстах
На этой странице рассматривается pass в операторах if, но он также часто встречается в циклах, функциях и классах.
Пример
pass как тело функции:
Вывод: полная программа на Python
def calculate_discount(price):
pass # TODO: реализовать логику скидки
# Функция существует, но пока ничего не делает