01装饰器-【100个Python知识点】

使用场景

在开发中,某些方法的访问需要判断用户是否登录,或是检验其是否有权限访问。这里通常使用装饰器实现。

下面通过一个demo例子来演示如何进行权限验证。

代码

# -*- coding: utf-8 -*- 
# @File : 01-装饰器.py
from functools import wraps


def login_require(func):
    @wraps(func)
    def inner(*args, **kwargs):
        name = kwargs.get('name')
        if name:
            print('已登录')
            return func(*args, **kwargs)
        else:
            print('未登录')

    return inner


@login_require
def my_page(name=None):
    print('name:{}'.format(name))
    print('这是一个测试页面')


my_page(name='小明')
  • 构建一个装饰器login_require,通过检测其传入的参数中是否有携带有权限参数,在这里判断如果能取到name那么就认为是已登录状态,否则未登录
  • 如果装饰器校验通过后,那么就会执行my_page中的方法

结果分析

  • 通过判断name中是否有值判断是否登录

  • 通过kwargs关键字参数取到值进行判断

  • 通过args位置参数判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值