|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
||||||||||||||||
Использование декораторов22.02.2017, 16:18. Показов 4307. Ответов 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
Нужно реализовать задачу с использованием итераторов и декораторов Реализация декораторов вне зависимости от количества аргументов и их имен
Разработка, отладка и испытание программ с применением декораторов свойств классов С помощью декораторов устранить уязвимость Фродо к Назгулам и оку Саурона. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|