Публикации по теме 'python-decorators'


Глубокое погружение в декораторы и контекстные менеджеры Python
Введение Python — это универсальный и мощный язык программирования, отчасти благодаря его уникальным функциям, которые позволяют создавать более чистый, эффективный и удобный для сопровождения код. Две такие функции, декораторы и менеджеры контекста, широко используются в программировании на Python для улучшения функциональности функций и классов, а также для повышения удобства повторного использования и удобочитаемости кода. Обе концепции поначалу могут показаться пугающими, но как..

Вопросы по теме 'python-decorators'

исправить pyflakes, связанные с декоратором @property setter
Pyflakes не очень хорошо справляется со следующим кодом: @property def nodes(self): return self._nodes @nodes.setter def nodes(self, nodes): """ set the nodes on this object. """ assert nodes != [] # without nodes no route.....
1083 просмотров

Ошибка декоратора: объект NoneType не вызывается
Я написал декоратор функций следующим образом: def tsfunc(func): def wrappedFunc(): print '%s() called' % func.__name__ return func() return wrappedFunc() @tsfunc def foo(): pass foo() # to get it work, use foo...
7157 просмотров

Декорирование функции методом (с произвольными аргументами)
использованная литература Прежде чем писать этот вопрос, я упомянул некоторые из следующих интересных вопросов и чувствую, что этот сценарий не объяснен/охвачен: Как создать цепочку декораторов функций? (особенно ответ № 2) Как украсить...
915 просмотров

Вложенные дескрипторы/декораторы в python
Мне трудно понять, что происходит, когда я пытаюсь вложить дескрипторы/декораторы. Я использую питон 2.7. Например, возьмем следующие упрощенные версии property и classmethod : class MyProperty(object): def __init__(self, fget):...
1463 просмотров

Как ввести переменную в область видимости с помощью декоратора?
[Отказ от ответственности: могут быть другие питонические способы делать то, что я хочу сделать, но я хочу знать, как здесь работает область видимости Python] Я пытаюсь найти способ сделать декоратор, который делает что-то вроде внедрения имени в...
36782 просмотров

Профилирование Python с использованием line_profiler — умный способ удалить операторы @profile на лету?
Я хочу использовать отличный line_profiler , но только иногда. Чтобы это работало, я добавляю @profile перед каждым вызовом функции, например. @profile def myFunc(args): blah return и выполнить kernprof.py -l -v...
6526 просмотров

Как поймать исключение в декораторе
У меня есть функция, вызывающая исключение, и я хочу, чтобы она была декоратором. Код выглядит следующим образом: def des(i): def new_func(func): if i == 1: raise Exception else: return func return...
2964 просмотров
schedule 05.09.2022

Как создать декоратор класса, который может добавлять в класс несколько методов?
В настоящее время я пытаюсь реализовать декоратор класса, который может добавлять несколько методов в зависимости от аргументов. Например: @decorator('my_func') class Screen: ... добавит метод my_func (тело функции определено в...
1263 просмотров

Чем полезны декораторы?
Итак, я прочитал эту страницу о декораторы, но я все еще не понимаю, когда декораторы могут быть полезны. Рассмотрим фрагмент кода, определяющий функцию f , а затем вызывающий ее несколько раз. По какой-то причине мы хотим, чтобы f...
514 просмотров
schedule 19.02.2022

Аргументы декоратора python с синтаксисом @
Я пытаюсь использовать декоратор кэшированных свойств, который может принимать аргументы. Я посмотрел на эту реализацию: http://www.daniweb.com/software-development/python/code/217241/a-cached-property-decorator from functools import...
1005 просмотров
schedule 02.11.2022

декоратор python, украсьте рекурсивную функцию, чтобы запускать ее много раз
У меня есть рекурсивная функция (f вызывает себя): def f(x) : .... Я хочу запустить эту функцию несколько раз. Я использую следующий декоратор: def iter_f(func) : def newf(x): for i in range(10): func(x)...
477 просмотров
schedule 24.12.2023

Почему одна стратегия запоминания медленнее другой?
Итак, эта страница о мемоизации меня заинтересовала. Я провел собственные тесты. 1) Изменяемый словарь по умолчанию: %%timeit def fibo(n, dic={}) : if n not in dic : if n in (0,1) : dic[n] = 1 else :...
185 просмотров

Почему multiprocessing.Process может обрабатывать декорированные функции?
Итак, я прочитал здесь , что декорированные функции нельзя замариновать. Верно: import multiprocessing as mp def deco(f): def wrapper(*args, **kwargs): try: f(*args, **kwargs) except: print 'Exception...
776 просмотров

Класс декоратора Python для пространств имен с наследованием
Пытаюсь использовать классы-декораторы в базовом классе в Python 3, но не полностью понимаю поведение, которое я наблюдаю. class tagged: """ Decorator itself. """ def __init__(self, regClass, *args, **kwargs): """ called after...
285 просмотров

Многопроцессорная обработка Python. Обработать исключение в родительском процессе и сделать так, чтобы все дочерние элементы изящно умирали
У меня есть следующий код. Здесь используется модуль Python под названием decorator . from multiprocessing import Pool from random import randint import traceback import decorator import time def test_retry(number_of_retry_attempts=1,...
1899 просмотров

Как я могу реализовать собственный обработчик ошибок для всех ошибок HTTP в Flask?
В моем приложении Flask я могу легко расширить список ошибок, обрабатываемых одним пользовательским обработчиком ошибок, добавив декораторы errorhandler для каждого кода ошибки, как в случае @application.errorhandler(404)...
13780 просмотров

Декоратор Python с попыткой/за исключением ошибки, не вызывающей
Я экспериментирую с декораторами Python, чтобы понять, что происходит, и я столкнулся с проблемой. Мой код таков (python 2.7.6): import traceback def dec(func): def wrapped(*args, **kwargs): try: if flag:...
1308 просмотров
schedule 26.08.2022

как использовать декоратор в классе
Я знаю, что есть похожий вопрос, но мой сценарий несколько отличается: обратитесь к кодам: class MyClass(object): def __init__(self, log_location) self.logs = logging(log_location) # create log object by the log_location, this object...
425 просмотров
schedule 11.09.2022

Функция-оболочка Python, принимающая аргументы внутри декоратора
Я пытаюсь написать декораторы Python, и у меня возникают проблемы с пониманием того, как внутренняя оболочка принимает аргументы. У меня есть здесь: import time def timing_function(some_function): def wrapper(): t1 = time.time()...
12918 просмотров
schedule 30.09.2023

Можем ли мы применить декоратор Python при вызове функции?
Скажем, например, у меня есть функция def A(): pass Я вызываю эту функцию из двух разных мест def B(): #some code A() #some code def C(): #some code A() #some code Декораторы, как мы знаем, на...
2134 просмотров
schedule 03.06.2023