Документация
Уроки Открыть IDE
На главную
Урок 22

Создание собственных функций

Как превратить повторяющиеся действия в переиспользуемые блоки кода

Функции — уже знакомые нам инструменты

Ранее мы уже многократно использовали функции:

Во всех случаях функция превращает входные данные в выходные.

Вход и выход — основа функции

  • Входные данные (аргументы) — то, что мы передаём функции при вызове;
  • Выходные данные (результат) — то, что функция возвращает после выполнения.

По сути, функция — это механизм для превращения одних данных в другие.

Синтаксис объявления функции

Функция — это блок кода, который один раз описывается, а затем может многократно использоваться.

Функция как сущность

У функции есть:

  • тип — что она возвращает (int, float, и т.д.);
  • название — по которому к ней обращаются;
  • набор действий — что она делает, когда её вызывают.

Это похоже на переменную (у неё тоже есть тип, имя и содержимое), но вместо данных — действия.

Пример: создание собственной функции modul_chisla()

Воссоздадим поведение math.abs(), но своими руками:

23 40

Мы сами решили, что делает эта функция, и теперь можем использовать её где угодно.

Функция с массивами: mul_all()

Создадим функцию, которой ещё не было — она вычисляет произведение всех чисел в динамическом массиве:

720 24024

Обратите внимание: в теле main() переменная some_arr не объявлена. Она существует только внутри функции и заменяется на реальный аргумент при вызове.

Это ключевой принцип: описание функции использует временные имена, а вызов — реальные данные, подходящие по типу.

void-функции: когда не нужно возвращать значение

Слово void переводится как «пустота». Функция типа void ничего не возвращает, а значит, не требует оператора return.

Такие функции полезны, когда нужно выполнить действие (например, вывести данные), но не получить результат.

----- ------------

void-функции — это «действия без хранимого результата», но они тоже делают ваш код чище и избавляют от копипасты.

Ключевое отличие

  • Функции с типом (int, float, и т.д.) возвращают значение и обычно присваиваются переменной:
  • Функции типа void ничего не возвращают и вызываются как отдельная команда:

Это не просто синтаксис — это отражение смысла: делаете ли вы вычисления или производите побочный эффект (вывод, рисование и т.д.).