9. Функции#

Функция - это блок кода, выполняющий определенные действия:

  • у функции есть имя, с помощью которого можно запускать этот блок кода сколько угодно раз

    • запуск кода функции называется вызовом функции

  • при создании функции, как правило, определяются параметры функции.

    • параметры функции определяют, какие аргументы функция может принимать

    • функциям можно передавать аргументы

    • соответственно, код функции будет выполняться с учетом указанных аргументов

Зачем нужны функции?

Как правило, задачи, которые решает код, очень похожи и часто имеют что-то общее.

Например, при работе с конфигурационными файлами каждый раз надо выполнять такие действия:

  • открытие файла

  • удаление (или пропуск) строк, начинающиеся со знака восклицания (для Cisco)

  • удаление (или пропуск) пустых строк

  • удаление символов перевода строки в конце строк

  • преобразование полученного результата в список

Дальше действия могут отличаться в зависимости от того, что нужно делать.

Часто получается, что есть кусок кода, который повторяется. Конечно, его можно копировать из одного скрипта в другой. Но это очень неудобно, так как при внесении изменений в код нужно будет обновить его во всех файлах, в которые он скопирован.

Гораздо проще и правильней вынести этот код в функцию (это может быть и несколько функций).

И тогда будет производиться вызов этой функции - в этом файле или каком-то другом.

В этом разделе рассматривается ситуация, когда функция находится в том же файле.

А в разделе 11. Модули будет рассматриваться, как повторно использовать объекты, которые находятся в других скриптах.