Зміст курсу
Середній Рівень Python: Аргументи, Генератори та Декоратори
Середній Рівень Python: Аргументи, Генератори та Декоратори
Замикання
Замикання у Python відбувається, коли внутрішня функція обернута зовнішньою функцією, посилаючись на значення із зовнішньої області видимості. Вони корисні для обходу глобальних змінних.
Замикання корисні, коли вам потрібно використати декілька методів, але їх недостатньо для створення цілого класу. Вони допомагають зробити речі простими. Але, якщо вам потрібно керувати великою кількістю методів та атрибутів, краще використовувати клас.
Давайте розглянемо кілька прикладів, щоб краще це зрозуміти.
def calculate_income(percent): def annual_income(amount): return amount * percent / 100 return annual_income # function returned by outer function interest_rate_3 = calculate_income(3) # function assigned to the variable interest_rate_7 = calculate_income(7) print(interest_rate_3(1500)) print(interest_rate_3(2000)) print(interest_rate_7(1500)) print(interest_rate_7(2000))
Ця функція обчислює річний дохід для грошового депозиту. Замикання дозволяє нам зберігати функцію у змінній з певним відсотковим значенням, що дає змогу використовувати її багаторазово.
Таким чином, замикання дозволяють створювати і повертати функції, які "запам'ятовують" значення з області видимості, що їх охоплює, і це особливо корисно для створення спеціалізованих функцій з наперед визначеною поведінкою на основі певних параметрів.
Дякуємо за ваш відгук!