Функції та Процедури¶
Функція - це підпрограма, що містить в собі певний код, яку можна викликати з інших місць програми. Функція приймає вхідні дані, обробляє їх та повертає результат. Функції дозволяють уникнути дублювання коду та забезпечують більшу модульність і повторне використання коду.
Функції та процедури - у Барвінку функції та процедури записуються однаково, без відмінностей в синтаксисі, але процедура не повертає значень, відтак виконується лише для зміни стану програми.
Синтаксис¶
Функції та процедури записуються за допомогою ключового слова функція:
Повернення значень¶
За замовчування функції у Барвінку повертають ніц. Щоб повернути значення з функції, потрібно використати ключове слово повернути:
функція привіт()
повернути "Привіт, Світ!"
кінець
а = привіт() ! В змінну "а" записалось значення "Привіт, Світ!"
повернути може нічого не повертати, для цього потрібно використати синтаксис повернути;
Параметри та аргументи¶
В оголошенні функції можна вказати список параметрів.
Аргументи - це значення, які передаються в функцію під час виклику.
Варіативні функції¶
Варіативна функція - це функція зі змінним числом аргументів. Для реалізації такої функції потрібно використати три крапки:
В наведеному вище прикладі, параметр "в" є варіативним. Варіативний параметр є кортежем, в якому збережені по порядку аргументи, які не вмістилися в параметри до варіативного.
Важливо
Варіативний параметр може бути тільки один та має стояти після простих параметрів та перед іменованими.
- Виклик такої варіативної функції не відрізняється від виклику простої функції.
- При виклику варіативної функції потрібно як мінімум заповнити параметри до варіативного, тобто якщо сигнатура функції виглядає так:
функція тест(а, б, в...), то при виклику потрібно передати як мінімум 2 аргументи.
Іменовані параметри¶
Іменовані параметри - це параметри, які мають значення, встановлене заздалегідь. Такі параметри можуть стояти лише в кінці списку параметрів.
Є декілька способів викликати таку функцію:
тест() ! Без заповнення параметра, виведе 20
тест(50) ! Передати аргумент як для звичайного параметра, виведе 50
тест(а=60) ! Вказати ім'я параметра та присвоїти йому значення, виведе 60
Замикання¶
Замикання - це функції, які зберігають(замикають) локальні змінні зовнішньої функції.