Python装饰器与闭包

python装饰器利用了函数闭包和函数可以当做参数进行传递的特性,函数闭包指在一个函数中嵌套一个函数,同时外层函数返回内层函数

目前成都创新互联公司已为成百上千家的企业提供了网站建设、域名、雅安服务器托管成都网站托管、企业网站设计、通城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

user = {
    "is_login": False
}
def edit_user():
    print('用户名修改成功')

def add_article():
    print('添加文章成功')

def login_required(func):

    def wrapper():
        if user['is_login'] == True:
            func()
        else:
            print('跳转到登录页面')

    return wrapper

login_required(edit_user)()
login_required(add_article)()

#利用语法糖可以简化调用

user = {
    "is_login": False
}

def login_required(func):

    def wrapper():
        if user['is_login'] == True:
            func()
        else:
            print('跳转到登录页面')
    return wrapper

@login_required
def edit_user():
    print('用户名修改成功')

@login_required
def add_article():
    print('添加文章成功')

#调用时,由于@语法糖的作用,被装饰函数自动将自己的函数名作为参数传给装饰器函数
edit_user()
add_article()

文章题目:Python装饰器与闭包
分享URL:http://hxwzsj.com/article/gpissp.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站设计 成都网站制作 网站建设公司 成都网站建设 成都网站制作 网站建设 成都网站制作 营销型网站建设 外贸网站设计方案 成都网站设计公司 广安网站设计 商城网站建设 外贸营销网站建设 成都网站制作 成都网站建设 成都网站建设公司 成都网站建设 成都定制网站建设 成都企业网站建设公司 网站制作公司 成都网站设计 温江网站设计