Возможно ли, и если да, то целесообразно, и если да, то каким будет рекомендуемый метод для украшения функции, которая дает значение?, украшающий функцию, которая дает
Для примера рассмотрим этот воображаемый пример я сделал
def foobar_creator(func):
def wrapped(**kwargs):
res = func(**kwargs)
flag = True
for k,v in kwargs:
if res % v == 0:
flag = False
yield k
if flag:
yield res
return wrapped
@foobar_creator
def generic_yielder(**kwargs):
for i in xrange(sys.maxint):
yield i
for i in generic_yielder(foo=3, bar=5, foobar=15):
print i
кажется усложненной. Что конкретно вы подразумеваете под «украшением функции, которая дает значение»? Какой прецедент вы имеете в виду? –
Случай использования @ivan_pozdeev: у меня есть куча функций генератора, которые дают новые значения из api. Я хочу применять фильтры, не касаясь существующей функции. Итак, для примера с разделителем exfaple 'def get_new(): result = new_result(); результат результата «Я хочу только отфильтровать и уронить, скажем, результаты, которые содержат строку« foobar », не сбрасывая сложные процессы« new_result » – yayu