Forwarded from Николай Крупий
Forwarded from Библиотека питониста | Python, Django, Flask
Architecture Patterns with Python (2019)
Авторы: Harry Percival, Bob Gregory
Поскольку популярность Python продолжает расти, проекты становятся все больше и сложнее. Многие разработчики Python в настоящее время проявляют интерес к шаблонам проектирования программного обеспечения высокого уровня. Но перевод этих шаблонов на Python не всегда прост. В своей книге авторы представляют проверенные шаблоны архитектурного проектирования, которые помогают разработчикам Python управлять сложностью приложений и получать максимальную отдачу от своих наборов тестов.
Скачать книгу
Авторы: Harry Percival, Bob Gregory
Поскольку популярность Python продолжает расти, проекты становятся все больше и сложнее. Многие разработчики Python в настоящее время проявляют интерес к шаблонам проектирования программного обеспечения высокого уровня. Но перевод этих шаблонов на Python не всегда прост. В своей книге авторы представляют проверенные шаблоны архитектурного проектирования, которые помогают разработчикам Python управлять сложностью приложений и получать максимальную отдачу от своих наборов тестов.
Скачать книгу
Telegram
Книги для программистов (reserved)
Architecture Patterns with Python (2019)
Авторы: Harry Percival, Bob Gregory
Авторы: Harry Percival, Bob Gregory
Forwarded from Pythonist.ru - образование по питону
Словари. Используем словари как альтернативу конструкции if-else
В этой статье:
- Собираем конструкцию if-else.
- Рассказываем, как использовать словарь для ее замены.
Читать статью
#словари #списки
В этой статье:
- Собираем конструкцию if-else.
- Рассказываем, как использовать словарь для ее замены.
Читать статью
#словари #списки
Forwarded from Pythonist.ru - образование по питону
Tips & Tricks. Python *args и **kwargs
Давайте рассмотрим, что такое *args и **kwargs, и чем они полезны. Для этого разберем пару простых примеров.
Читать статью
#tipsandtricks #функции
Давайте рассмотрим, что такое *args и **kwargs, и чем они полезны. Для этого разберем пару простых примеров.
Читать статью
#tipsandtricks #функции
Forwarded from Продвинутый курс по Python
Но решение достаточно простое: можно использовать декоратор
Оборачиваем этим декоратором ту функцию, которая возвращается в качестве уже новой. В аргументы передаём ту, которую изначально декорируем.
Подобный трюк не необходим, но крайне желателен в каждом декораторе.
wraps
из модуля functools
. Он подменяет определённые аргументы, docstring и названия так, что функция не меняется.Оборачиваем этим декоратором ту функцию, которая возвращается в качестве уже новой. В аргументы передаём ту, которую изначально декорируем.
Подобный трюк не необходим, но крайне желателен в каждом декораторе.
Forwarded from Продвинутый курс по Python
Здесь мы добавили ещё один уровень функций и принимаемый аргумент.
По сути это тот же декоратор, который при вызове возвращает декоратор... Но фактически, правильнее называть этой фабрикой декораторов. Но если не заморачиваться, то просто запомните этот приём как "декоратор с параметрами".
По сути это тот же декоратор, который при вызове возвращает декоратор... Но фактически, правильнее называть этой фабрикой декораторов. Но если не заморачиваться, то просто запомните этот приём как "декоратор с параметрами".
Forwarded from Продвинутый курс по Python
Далее поменяем слегка условную конструкцию, так как теперь надо сравнивать с переданным
access_level
, а не просто с 'admin'
.Forwarded from Продвинутый курс по Python
Домашнее задание
К темам итераторов, генераторов и прочего особо нечего дать, так как это просто надо знать. А вот декораторы лучше уметь применять на практике, поэтому именно по ним и будет домашнее задание.
Задание 1. Написать декоратор
Задание 2. Продвинутое задание. Модифицировать декоратор из прошлого задания таким образом, чтобы он выполнял декорируемую функцию
К темам итераторов, генераторов и прочего особо нечего дать, так как это просто надо знать. А вот декораторы лучше уметь применять на практике, поэтому именно по ним и будет домашнее задание.
Задание 1. Написать декоратор
timing
, замеряющий время выполнения функции.Задание 2. Продвинутое задание. Модифицировать декоратор из прошлого задания таким образом, чтобы он выполнял декорируемую функцию
iters
раз, а затем выводил среднее время выполнения.