Уроки Python casts #8 - Замыкания

Опубликовано: 01 Октябрь 2024
на канале: Oleg Molchanov
47,349
2.6k

Мои курсы:
Boosty:
https://boosty.to/omolchanov/posts/99...

Patreon:
  / karty-vsekh-41011404  


О том, что такое замыкания (closures) в Python. Начинаем с переменных и объектов, потом затрагиваем чуть-чуть области видимости (scope) и время жизни переменных, а затем сталкиваемся лоб в лоб с замыканиями.

Условия, при которых в Python возможны замыкания:
1. Должны присутствовать вложенные функции. Одна "родительская" и как минимум одна "дочерняя".
2. Внутренняя (дочерняя или вложенная) функция должна ссылаться на некое значение, переменную, находящееся в родительской области видимости (enclosing scope).
При этом внутренняя функция не получает эту переменную в качестве аргумента.
3. Родительская функция возвращает в качестве результат объект внутренней функции.


Продолжение серии уроков по языку Python для начинающих. Серия посвящена отдельным темам по программированию на Python.

** ИСХОДНЫЙ КОД **
Основных проектов доступен в Patreon:
  / iskhodnyi-kod-26640469  
***

------

🔷 Для донатов. Всегда очень признателен за это:
https://www.donationalerts.ru/r/omolc...

------

★ Важно:

Как читать Traceback Python:
   • Как читать Traceback Python  

Работа с ошибками на примере двух нерабочих парсеров:
   • Python: работа с ошибками на примере ...  


★ Все серии Python casts:

1 - Что вам нужно знать о Pip
   • Уроки Python Casts # 1 - Что вам нужн...  

2 - Переменные окружения. Использование.
   • Уроки Python casts # 2 - Переменные о...  

3 - Что означает *args, **kwargs
   • Уроки Python casts # 3 - Что означает...  

#4 - if __name __ == '__main__': что это значит
   • Уроки Python casts #4 - if __name  __...  

#5 - Генераторы списков (List comprehension)
   • Уроки Python casts #5 - Генераторы сп...  

#6 - Декораторы
   • Уроки Python casts #6 - Декораторы  

#7 - 5 приемов, о которых вы могли не знать
   • Уроки Python casts #7 - 5 приемов, о ...  

#8 - Замыкания
   • Уроки Python casts #8 - Замыкания  

#9 - Что такое try... except...
   • Уроки Python casts #9 - Что такое try...  

#10 - Что такое yield
   • Уроки Python casts #10 - Что такое yield  

#11 - Как работает функция map()
   • Уроки Python casts #11 - Как работает...  

#12 - Как работает функция filter()
   • Уроки Python casts #12 - Как работает...  

#13 - Else у циклов For и While
   • Уроки Python casts #13 - Else у цикло...  


★ Плейлисты:

Django 2.x:
   • Уроки Django 2.x  

Flask:
   • Создание блога на Flask (уроки)  

Боты для Телеграма:
   • Telegram боты на Python  

Работа с API Вконтакте:
   • Работа с API Вконтакте (vk.com) на Py...