- 2
- 24 658
Программирование 2.0
Russia
Приєднався 3 лис 2016
Официальный канал "Программирование 2.0".
Научно-популярный познавательный канал о разработке: обучение языкам, алгоритмам, управлению разработкой, вопросы которые задают на собеседованиях. Специальные проекты и программы.
"Программирование 2.0" - канал для тех, кто интересуется настоящим и хочет знать, каким будет наше будущее.
Научно-популярный познавательный канал о разработке: обучение языкам, алгоритмам, управлению разработкой, вопросы которые задают на собеседованиях. Специальные проекты и программы.
"Программирование 2.0" - канал для тех, кто интересуется настоящим и хочет знать, каким будет наше будущее.
Протокол дескрипторов в Python
В этом видео мы поговорим о двух взаимосвязанных вещах - атрибутах объектов и протоколе дескрипторов в Python. Несмотря на то, что в дескрипторах нет ничего сложного, есть целый ряд нюансов, связанных с тем, как этот механизм работает. На простых примерах мы разберем порядок вычисления значения атрибута объекта и возможности вклиниться своим кодом в разные этапы этого механизма. Так же мы обсудим несколько возможных применений дескрипторов.
0:00 Вступление
0:41 Обращение к свойствам класса через свойства объекта
1:42 Приоритет словаря объекта над свойствами класса
2:40 Метод __get__
3:22 Дескриптор без данных (Non-data descriptor)
3:43 Приоритет словаря объекта над дескриптором без данных
3:59 Немного шаманства
4:37 Метод __set__
5:11 Дескриптор данных (Data descriptor)
5:26 Приоритет дескриптора данных над словарём объекта
5:34 Обращение к словарю объекта из методов дескрипторов
6:38 Декоратор @property умеет всё то же самое
8:08 Метод __set_name__
8:53 Делаем методы __get__ и __set__ более универсальными
9:36 Единый код для управления разными свойствами
10:10 Как работает __set_name__?
10:25 Дескриптор, как средство логирования любого доступа к атрибутам
10:40 Дескриптор, как средство валидации значений атрибутов
12:03 Дескриптор, как средство для работы с колонками в ORM
12:26 Метод __getattr__ не мешает работе с дескрипторов
13:35 Метод __getattribute__ отключает механизм дескрипторов
14:36 Порядок поиска атрибута объекта
17:15 Исключение AttributeError
18:12 Заключение
19:33 В следующих сериях
0:00 Вступление
0:41 Обращение к свойствам класса через свойства объекта
1:42 Приоритет словаря объекта над свойствами класса
2:40 Метод __get__
3:22 Дескриптор без данных (Non-data descriptor)
3:43 Приоритет словаря объекта над дескриптором без данных
3:59 Немного шаманства
4:37 Метод __set__
5:11 Дескриптор данных (Data descriptor)
5:26 Приоритет дескриптора данных над словарём объекта
5:34 Обращение к словарю объекта из методов дескрипторов
6:38 Декоратор @property умеет всё то же самое
8:08 Метод __set_name__
8:53 Делаем методы __get__ и __set__ более универсальными
9:36 Единый код для управления разными свойствами
10:10 Как работает __set_name__?
10:25 Дескриптор, как средство логирования любого доступа к атрибутам
10:40 Дескриптор, как средство валидации значений атрибутов
12:03 Дескриптор, как средство для работы с колонками в ORM
12:26 Метод __getattr__ не мешает работе с дескрипторов
13:35 Метод __getattribute__ отключает механизм дескрипторов
14:36 Порядок поиска атрибута объекта
17:15 Исключение AttributeError
18:12 Заключение
19:33 В следующих сериях
Переглядів: 10 298
Відео
Декораторы в Python
Переглядів 14 тис.4 роки тому
В этом видео мы поговорим о декораторах в Python. На собеседованиях о них часто спрашивают. Мы детально рассмотрим механизмы работы декораторов на примере lru_cache из functools и сами напишем его простенький аналог. Узнаем как делаеть декораторы на основе функций и классов, какие вспомогательные инструменты для этого есть, как делать декораторы с параметрами и что можно декорировать с их помощ...