|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
||||||||||||||||
Использование декораторов22.02.2017, 16:18. Показов 4472. Ответов 47
Метки нет (Все метки)
Есть задача сделать декоратор, который бы подключался к базе данных, выполнял некоторые действия, передавал соединение к бд и курсор во внутреннюю функцию. После выполнения функции - выполнял еще пару действий.
Написанный код.
0
|
||||||||||||||||
| 22.02.2017, 16:18 | |
|
Ответы с готовыми решениями:
47
Генератор декораторов Генератор декораторов
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|||||||
| 22.02.2017, 17:56 | |||||||
|
Можно конечно вот так, но я бы так не советовал делать
0
|
|||||||
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
||
| 23.02.2017, 09:22 [ТС] | ||
|
Пока решил обернуть все это дело в класс. В коде пока не реализовал но в теории будет красиво, и удобно.
0
|
||
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
||||||
| 24.02.2017, 09:23 [ТС] | ||||||
|
Обернул все в класс. Вариант впринципе устроил. Плюс заодно был написан класс позволяющий более менее комфортно использовать asyncio + cx_Oracle.
Кликните здесь для просмотра всего текста
0
|
||||||
|
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
|
||||||
| 25.02.2017, 03:08 | ||||||
|
alex925, вы решили мою нишу по написанию извратов занять?
Кликните здесь для просмотра всего текста
Добавлено через 4 минуты Zuzik, круто с классом получалось) а переменную в функцию передать не получилось
0
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 25.02.2017, 06:12 | ||
__init__?
0
|
||
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
|
| 25.02.2017, 13:18 [ТС] | |
|
0x10, впринципе незачем. Добавил для удобства разработки. В конструкторе тип данных переменных указан, IDE этот тип видит и обеспечивает автодополнение. По факту - нужно убрать, ибо это лишние действия не несущие существенной пользы.
Wi0M, читаем мое первое сообщение внимательно. Мне хотелось, чтобы переменная извне в функцию передавалась, в ней была доступна для использования, но эту переменную в составе параметров функции передавать не было нужно. Сейчас уже вариант с классом подходит чуть больше, он решил еще пару сопутствующих вопросов.
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 25.02.2017, 13:26 | ||
|
Если недоступен Python 3.6, можно написать комментарий, IDE подхватит.
1
|
||
|
Заблокирован
|
|
| 25.02.2017, 14:54 | |
|
А зачем вообще использовать декораторы, ведь это не более чем убогая обертка над лямбдой.
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 25.02.2017, 15:32 | |
|
actionpattern, ты прикалываешься? Вот расскажи, что такое по твоему декоратор?
0
|
|
|
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
|
|
| 25.02.2017, 15:34 | |
|
actionpattern, над какой еще лямбдой?
Zuzik, а... не увидел...
0
|
|
|
Заблокирован
|
|
| 25.02.2017, 16:13 | |
|
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 25.02.2017, 16:16 | |
|
Лапшу на уши вешаешь это ты.
0
|
|
|
Заблокирован
|
|
| 25.02.2017, 16:18 | |
|
alex925, я что-то не так сказал? Обоснуйте.
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 25.02.2017, 16:30 | |
|
Декораторы это синтаксический сахар для того, чтобы добавить какую-то логику (функции, классу), а lambda это однострочная функция, которая чаще всего используется, чтобы отсрочить вызов чего-то.
0
|
|
|
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
|
||||||
| 25.02.2017, 18:11 | ||||||
|
actionpattern, будьте тактичны и конкретны в своих высказываниях. ибо не понятно о чем вы вообще говорите, какие то обертки над лямбдой... чушь... учите мат часть.
Декоратор всегда возвращающий результат первого вызова метода.
Кстати, есть серия статей на хабре, гуглите "понимаем декораторы". И пожалуйста не говорите что то конкретное о вещах которых вы не знаете или не понимаете... Добавлено через 18 минут вот даже ссылка что вы дали, четко написано "Декораторы — это, по сути, "обёртки", которые дают нам возможность изменить поведение функции, не изменяя её код." нет никакой речи о лямбда функциях.
0
|
||||||
|
Заблокирован
|
|||
| 25.02.2017, 18:26 | |||
|
Добавлено через 2 минуты
0
|
|||
|
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
|
||||||
| 25.02.2017, 18:27 | ||||||
|
actionpattern, да что ж такое то.
лямбда это
0
|
||||||
|
Заблокирован
|
|
| 25.02.2017, 18:29 | |
|
Wi0M, короче, все я правильно сказал. Пистонщики понимают пистон хуже тех, кто его вообще не знает, забавно
0
|
|
| 25.02.2017, 18:31 | |
|
Не по теме: ой все
0
|
|
| 25.02.2017, 18:31 | |
|
Помогаю со студенческими работами здесь
20
Нужно реализовать задачу с использованием итераторов и декораторов Реализация декораторов вне зависимости от количества аргументов и их имен
Разработка, отладка и испытание программ с применением декораторов свойств классов С помощью декораторов устранить уязвимость Фродо к Назгулам и оку Саурона. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|