Python装饰器与闭包
admin
2023-01-29 06:40:05
0

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()

相关内容

热门资讯

今日重大发现“熊猫来了.有挂吗... 有 亲,根据资深记者爆料熊猫来了是可以开挂的,确实有挂(咨询软件无需打开...
“最快女护士”张水华账号已清空... 2025福州马拉松将于12月14日开跑,赛事方公布了精英选手名单,记者注意到,“最快女护士”张水华并...
今日重大发现“中州游戏.是不是... 今日重大发现“中州游戏.是不是有挂?”详细开挂教程您好,中州游戏这个游戏其实有挂的,确实是有挂的,需...
终于了解“新畅游互娱.究竟有挂... 家人们!今天小编来为大家解答新畅游互娱透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
今日重大通报“桂林字牌.到底有... 家人们!今天小编来为大家解答桂林字牌透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
四川首个国家级制造业中试平台获... ●四川先进光伏器件中试平台代表了我国光伏领域中试能力的先进水平,拥有行业内单体面积最大、可升级能力最...
今日重磅消息“讯奇麻将斗牛.到... 您好:讯奇麻将斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
今日重大发现“夏天yy.开挂器... 您好:夏天yy这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
今日重磅消息“衡阳十胡卡.辅助... 家人们!今天小编来为大家解答衡阳十胡卡透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
【今日要闻】“熊猫来了.到底有... 【今日要闻】“熊猫来了.到底有挂吗?”透视曝光猫腻您好,熊猫来了这个游戏其实有挂的,确实是有挂的,需...