Python: Урок 13. Функції
Функції в програмуванні можна представити як ізольований блок коду, звернення до якого в процесі виконання програми може бути багаторазовим. Навіщо потрібні такі блоки інструкцій? У першу чергу, щоб скоротити обсяг вихідного коду: раціонально винести часто повторювані вирази в окремий блок і, потім, у міру потреби, звертатися до нього.
Уявімо собі таку ситуацію. Потрібно написати скрипт, який при виконанні повинен три рази запитувати у користувача різні дані, але виконувати з ними одні й ті ж дії.
Уявімо собі таку ситуацію. Потрібно написати скрипт, який при виконанні повинен три рази запитувати у користувача різні дані, але виконувати з ними одні й ті ж дії.
Дана програма знаходить модуль різниці двох чисел. Очевидно, що такий запис вихідного коду не раціональний: виходять три майже однакових блоки коду. Здавалося б, чому б не використати цикл while для організації повторення?a = int(input('Уведіть перше число: ')) b = int(input('Уведіть друге число: ')) if a > b: print(a-b) else: print(b-a) c = int(input('Уведіть перше число: ')) d = int(input('Уведіть друге число: ')) if c > d: print(c-d) else: print(d-c) e = int(input('Уведіть перше число: ')) f = int(input('Уведіть друге число: ')) if e > f: print(e-f) else: print(f-e)
i = 0 while i < 3: a = int(input('Уведіть перше число: ')) b = int(input('Уведіть друге число: ')) if a > b: print(a-b) else: print(b-a) i = i + 1
Проте, в цьому випадку є один нюанс. Введені користувачем дані завжди зв'язуються з змінними a і b. При кожному витку циклу колишні дані втрачаються. Що ж робити, якщо всі шість чисел, введених користувачем треба зберегти для подальшого використання в програмі? Розглянемо рішення цієї задачі з використанням функції.
Після функції йде, так звана, основна гілка програми, в якій змінним попарно присвоюється результат виконання викликаної функції. У інших ситуаціях, коли функція не вертає значень, її виклик не зв'язується зі змінною.
Сама функція виконуються лише тоді, коли вона викликається в основній гілці програми. Так, наприклад, якщо функція присутня у вихідному коді, але ніде не викликається в ньому, то вона не буде виконуватись в програмі жодного разу.
Урок 1. Історія мов програмування. Компіляція та інтерпретація
Урок 2. Знайомство з Python і середовищами програмування
Урок 3. Типи даних в програмуванні. Визначення змінної
Урок 4. Логічні вирази
Урок 5. Умовний оператор. Інструкція if
Урок 6. Множинне розгалуження
Урок 7. Цикл while
Урок 8. Введення даних з клавіатури
Урок 9. Рядки як послідовності символів
Урок 10. Списки - змінювані послідовності
Урок 11. Cловники
Урок 12. Цикл for
Урок 13. Функції
Урок 14. Параметри і аргументи функцій. Локальні та глобальні змінні
Урок 15. Перевірочна робота з основ програмування на Python
def diff(): m = int(input('Уведіть перше число: ')) n = int(input('Уведіть друге число: ')) if m > n: print(m-n) else: print(n-m) return m,n a,b = diff() c,d = diff() e,f = diff()def - це інструкція (команда) мови програмування Python, що дозволяє створювати функцію. diff - це ім'я функції, яке (так само як і імена змінних) може бути майже будь-яким, але бажано осмисленим. Після в дужках перераховуються параметри функції. Якщо їх немає, то дужки залишаються порожніми. Далі йде двокрапка, що позначає закінчення заголовка функції (аналогічно з умовами та циклами). Після заголовка з нового рядка і з відступом слідують вирази тіла функції. У кінці тіла функції присутня інструкція return (її може й не бути), яка повертає результат, або результати (як у вищевказаному прикладі) в основну гілку програми. У даному випадку, якби у функції не було інструкції return, то в основну програму нічого б не поверталося, і змінним a і b (c і d, а також e і f) числові значення не присвоювалися б.
Після функції йде, так звана, основна гілка програми, в якій змінним попарно присвоюється результат виконання викликаної функції. У інших ситуаціях, коли функція не вертає значень, її виклик не зв'язується зі змінною.
Сама функція виконуються лише тоді, коли вона викликається в основній гілці програми. Так, наприклад, якщо функція присутня у вихідному коді, але ніде не викликається в ньому, то вона не буде виконуватись в програмі жодного разу.
Практична робота
- Напишіть функцію, яка обчислює суму трьох чисел і повертає результат в основну гілку програми.
- Придумайте програму, в якій з однієї функції викликається друга. При цьому жодна з них нічого не повертає в основну гілку програми, обидві повинні виводити результати своєї роботи за допомогою функції print().
Зміст курсу
ВступУрок 1. Історія мов програмування. Компіляція та інтерпретація
Урок 2. Знайомство з Python і середовищами програмування
Урок 3. Типи даних в програмуванні. Визначення змінної
Урок 4. Логічні вирази
Урок 5. Умовний оператор. Інструкція if
Урок 6. Множинне розгалуження
Урок 7. Цикл while
Урок 8. Введення даних з клавіатури
Урок 9. Рядки як послідовності символів
Урок 10. Списки - змінювані послідовності
Урок 11. Cловники
Урок 12. Цикл for
Урок 13. Функції
Урок 14. Параметри і аргументи функцій. Локальні та глобальні змінні
Урок 15. Перевірочна робота з основ програмування на Python
Коментарі