Публикации по теме '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 просмотров
schedule
21.10.2022
Ошибка декоратора: объект 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 просмотров
schedule
31.07.2023
Декорирование функции методом (с произвольными аргументами)
использованная литература
Прежде чем писать этот вопрос, я упомянул некоторые из следующих интересных вопросов и чувствую, что этот сценарий не объяснен/охвачен:
Как создать цепочку декораторов функций? (особенно ответ № 2)
Как украсить...
915 просмотров
schedule
02.12.2022
Вложенные дескрипторы/декораторы в python
Мне трудно понять, что происходит, когда я пытаюсь вложить дескрипторы/декораторы. Я использую питон 2.7.
Например, возьмем следующие упрощенные версии property и classmethod :
class MyProperty(object):
def __init__(self, fget):...
1463 просмотров
schedule
13.07.2022
Как ввести переменную в область видимости с помощью декоратора?
[Отказ от ответственности: могут быть другие питонические способы делать то, что я хочу сделать, но я хочу знать, как здесь работает область видимости Python]
Я пытаюсь найти способ сделать декоратор, который делает что-то вроде внедрения имени в...
36782 просмотров
schedule
05.08.2022
Профилирование Python с использованием line_profiler — умный способ удалить операторы @profile на лету?
Я хочу использовать отличный line_profiler , но только иногда. Чтобы это работало, я добавляю
@profile
перед каждым вызовом функции, например.
@profile
def myFunc(args):
blah
return
и выполнить
kernprof.py -l -v...
6526 просмотров
schedule
20.10.2022
Как поймать исключение в декораторе
У меня есть функция, вызывающая исключение, и я хочу, чтобы она была декоратором. Код выглядит следующим образом:
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 просмотров
schedule
13.06.2023
Чем полезны декораторы?
Итак, я прочитал эту страницу о декораторы, но я все еще не понимаю, когда декораторы могут быть полезны.
Рассмотрим фрагмент кода, определяющий функцию 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 просмотров
schedule
26.05.2022
Почему multiprocessing.Process может обрабатывать декорированные функции?
Итак, я прочитал здесь , что декорированные функции нельзя замариновать. Верно:
import multiprocessing as mp
def deco(f):
def wrapper(*args, **kwargs):
try:
f(*args, **kwargs)
except:
print 'Exception...
776 просмотров
schedule
20.05.2022
Класс декоратора Python для пространств имен с наследованием
Пытаюсь использовать классы-декораторы в базовом классе в Python 3, но не полностью понимаю поведение, которое я наблюдаю.
class tagged:
""" Decorator itself. """
def __init__(self, regClass, *args, **kwargs):
""" called after...
285 просмотров
schedule
20.06.2023
Многопроцессорная обработка 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 просмотров
schedule
31.12.2022
Как я могу реализовать собственный обработчик ошибок для всех ошибок HTTP в Flask?
В моем приложении Flask я могу легко расширить список ошибок, обрабатываемых одним пользовательским обработчиком ошибок, добавив декораторы errorhandler для каждого кода ошибки, как в случае
@application.errorhandler(404)...
13780 просмотров
schedule
06.04.2022
Декоратор 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