def withmany(f):

    def many(many_foos):
        for foo in many_foos:
            yield f(foo)
f.many = many
return f

@withmany
def process_foo(foo):
    return foo + 1
processed_foo = process_foo(foo)
for processed_foo in process_foo.many(foos):
    pass
Имена параметров в функциях Python, которые принимают один объект или итерацию