def required_login_1(func):
    def wrapper(request,*args,**kwargs):
        func(request,*args,**kwargs)
        print(request.name)
    return wrapper

def required_login_2(func):
    def wrapper(*args,**kwargs):
        func(*args,**kwargs)
        print(args[0].name)
    return wrapper

class BaseHandler():
    def __init__(self):
        self.name = "base"

class LogoutHandler(BaseHandler):
    """退出登录"""
    @required_login_1
    def get(self):
        pass

if __name__ == "__main__":
    a = LogoutHandler()
    a.get() # 打印base

备份地址: 【类实例函数的的装饰器