ДЕКОРАТОРЫ С АРГУМЕНТАМИ В ПИТОНЕ
HTML-код
- Опубликовано: 10 ноя 2024
- Андрей Иванов - Питон
Используйте мою ссылку в криптобирже OKEX и получите -10%:
www.okx.com/jo...
Мои курсы на UDEMY: www.udemy.com/....
Пожертвования: www.donational....
Github: github.com/knu...
Telegram канал: t.me/pypapyrus_ru
Другие Видео по Python: www.youtube.co....
Канал на английском языке: www.youtube.co....
Поставьте лайк и подпишитесь!
#Python #Питон #программирование #programming
Отдельное спасибо за крупный шрифт в pycharm
Очень интересно, но нихуа а не поняллл.. Пойду гуглить
Коммент в поддержку. Больше таких роликов, оч круто
Отлично!
Да это жестко.
нормально
Не могу понять как decorator_(func) получает в себя функцию если вызывается @decorator который должен как аргумент принимать функцию a()
Так как мы вызываем декоратор, то в само декорирование возвращается другая функция, а оттуда мы уже используем аргументы. Если непонятно, то можете написать мне в телеграм: @iv_andrew
Ищу инфу по этой теме уже часа 3. Я понял что это работает, и сам синтаксис. Но я так и не понял как декорируемая функция передаётся декоратору внутри, ведь собака стоит перед другой функцией. Как так получается???
декоратор - функция(которая в качестве аргумента, принимает другую функцию)
@decorator
def func():
...
аналог такой записи:
func = decorator(func)
проще говоря, это обычный синтаксический сахар)
а просто буль вторым аргументом в функцию декоратора, не рисуя лишний деф, нельзя передать?
как это применять на практике?
В библиотеках для телеграмм ботов как минимум используется, по такому же принципу можешь
Самый простой пример:
Во встроенной библиотеке functools есть декоратор lru_cache, у которого есть необязательный аргумент cache_size (за точность имён не ручаюсь, но суть передана).
Если с точки зрения "зачем мне самому писать такие декораторы", то тут сложнее, ибо мне в голову приходят только довольно сложные примеры, в основном связанные с написанием собственных библиотек/фреймворков, но вероятно если вы пишите свой декораторы, то рано или поздно вы столкнётесь с необходимостью передать в него дополнительные аргументы
После половины ролика автор свалился в непонятное