human
I wrote the below code

    @wraps(func)
    def wrapper(cls, *args, **kwargs):
        fun_name = func.__name__
        fun = ('_%s%s' % (cls.rule_group, fun_name))
        if (not hasattr(cls, fun)):
            fun = ('_default%s' % fun_name)
        return getattr(cls, fun)(*args, **kwargs)
    return wrapper

What's a good function header?
assistant
#Here's a good function header.

def implemented_by_base_exception(func):