Поняття підпрограми. Функції.
Тема 1.5 Функції користувача і модулі мови Python.
П’яте листопада
Класна робота
Коли програма стає завеликою за обсягом і складною для сприйняття, є сенс розділити її за змістом на невеликі логічні частини, які називаються підпрограмами (функціями або процедурами), кожна з яких виконуватиме певне завдання.
Внаслідок цього програма стане більш легкою і для розуміння при створенні, і для процесу відлагодження.
�
У більшості мов програмування високого рівня підпрограми називаються процедурами та функціями. В залежності від мови програмування, терміни “процедура” та “функція” можуть розрізнятися (як правило, процедурою називають підпрограму, що не повертає результату, тоді як функція має результат і може використовуватись як частина виразу) чи розглядатись як синоніми (зокрема, в мові C, де в початковому варіанті всі підпрограми могли повертати результат, їх здебільшого називають функціями).
Кожна функція має власне ім’я, за яким здійснюють її виклик.
Функція – це незалежна іменована частина програми, яка може багаторазово викликатися з інших частин програми, опрацьовувати дані та повертати результати.
Кожна процедура або функція, тобто допоміжний алгоритм, це “держава в державі”, міні програма в програмі. Структура процедур та функцій така сама, як і всієї програми.
Локальні та глобальні змінні
Тема 1.5 Функції користувача і модулі мови Python.
Проте, все що описано в процедурах та функціях, доступно лише їм і не поширюється на всю програму. Логічно ці можливості назвати локальними.
Всі можливості, що передбачені в основній програмі, доступні як основній програмі, так і всім процедурам і функціям, що в ній описані. Вони називаються глобальними.
Усім змінним, що описані в процедурах або функціях, місце в пам’яті відводиться тільки на час виконання цих підпрограм. Після того, як процедура або функція виконається, пам’ять, відведена під змінні, звільняється.
Це наводить на думку, що в різних процедурах та функціях програми, та й у самій цій програмі можуть використовуватись однакові назви змінних. Змінні, що їм відповідають, не будуть заважати одні одним.
�
Процедура - це підпрограма, яка виконує деякі дії після виклику її з основної програми або іншої процедури.
Локальні змінні - це змінні, визначені в процедурі, вони доступні тільки всередині процедури.
Глобальні змінні - це змінні, визначені в основній програмі. Вони доступні всередині процедури тільки для читання, а для зміни потрібно оголосити їх в процедурі після службового слова global.
Опис процедури
def <ім'я> (<параметри>):
<Оператори>
Виклик процедури
<Ім'я> (<аргументи>)
Схематично принцип дії глобальних та локальних змінних можна простежити на такому прикладі: