Оператор передачи Python

| | | | | | | | | | | | | | | | | | | | | | | |

Оператор передачи Python используется для создания пустых блоков кода и пустых функций.

Примеры операторов передачи Python

Давайте рассмотрим несколько примеров использования передачи.

1. оператор pass в блоке кода

Допустим, нам нужно написать функцию для удаления всех четных чисел из списка. В этом случае мы будем использовать цикл for для обхода чисел в списке.



Если число делится на 2, то ничего не делаем. В противном случае мы добавляем его во временный список. Наконец, верните вызывающей стороне временный список, содержащий только нечетные числа.

Python не поддерживает пустые блоки кода. Таким образом, мы можем использовать здесь оператор pass, чтобы пропустить операцию в блоке if-condition.

 def remove_evens (list_numbers): list_odds = [] для i в list_numbers: если i% 2 == 0: передать еще: list_odds.append (i) вернуть list_odds l_numbers = [1, 2, 3, 4, 5, 6] l_odds = remove_evens (l_numbers) print (l_odds) 

Вывод: [1, 3, 5]

Здесь нам не нужны никакие операции в блоке if-условия. Итак, мы использовали оператор pass, чтобы ничего не делать.



2. Оператор pass для пустой функции

В Python нет концепции абстрактных функций. Если нам нужно определить пустую функцию, мы не можем написать ее так.

 def foo(): # TODO - реализовать позже 

Выход: IndentationError: ожидается блок с отступом

Мы можем использовать оператор pass для определения пустой функции. У функции будет инструкция, но она ничего не сделает.

 def foo (): передать 

несколько операторов ?

Да, в функции или блоке кода может быть несколько операторов обхода. Это связано с тем, что оператор pass не завершает функцию. Его единственная работа — предоставить пустой оператор.

 def bar(): pass print(`bar`) pass if True: pass pass print(` True`) else: print ("False") pass pass 

Зачем мне это нужно?

  • Оператор прохода Python очень полезен при определении пустой функции или пустого блока кода.
  • Самое важное использование оператора pass — создание контракта для классов и функций, которые мы хотим реализовать позже. Например, мы можем определить модуль Python следующим образом:
 class EmployeeDAO: def get_emp_by_id (self, i): "" "TODO: реализовать эту функцию позже: param i: идентификатор сотрудника: return: объект сотрудника "" "pass def delete_emp (self, i): pass # Эта функция будет читать файл данных CSV сотрудников и возвращать список сотрудников def read_csv_file (файл ): пройти 

 Оператор Python Pass

Мы можем приступить к реализации. Стороннему коду известны функции и методы, которые мы будем реализовывать, поэтому они могут продолжать их реализовывать.