Are there any "accepted" naming conventions for the innards of Python decorators?
The style guide doesn't mention it, and this awesome entry about decorators is pretty consistent in using variants of "wrapped" for the ultimate function that is returned, but what about the names used when creating decorators that take arguments?
def decorator_name(whatevs):
def inner(function):
def wrapped(*args, **kwargs):
# sweet decorator goodness
return wrapped
return inner
Specifically, what are the conventions for inner
, function
, and wrapped
in the above example?
There are no standardized conventions (such as PEPs) for those names. If you check the python stdlib you'll find lots of different names for those functions.
However, decorator
is a rather common name for the decorator function inner
.
It is also common to call your wrapped
function wrapper
and decorate it with functools.wraps(f)
with f
being the wrapped function (func
is also a common name for it).
def decorator_name(whatevs):
def decorator(f):
@wraps(f)
def wrapper(*args, **kwargs):
pass # sweet decorator goodness
return wrapper
return decorator