Python高级函数之装饰器,大道至简

简介: Python高级函数之装饰器,大道至简

Python中装饰器的使用


为什么要使用装饰器呢,不使用装饰器不行吗?

当然可以不使用装饰器。但是学会使用装饰器,你的代码将会挤入上流社会,变得非常漂亮、简洁、高大上。


登录验证Demo


下面这个例子就是使用装饰器实现登录验证功能

讲讲实现思路吧:

1、通过@装饰器将main函数添加到login中且命名为fun。

2、实现的时候看似调用main函数,实则是调用login函数。

3、通过account、pwd验证后再调用fun函数

def login(fun):
    def isLogin(account,pwd):
        print(f'account:{account},pwd:{pwd}')
        if account==123 and pwd==123:
            return fun(name='欢迎你,小明')
    return isLogin
@login
def mian(name):
    print(f'{name}')
mian(account=123,pwd=123)

1684148314633.jpg


带参数的装饰器


def test(flag):
    def a(func):
        def inner(*args,**kwargs):
            if flag:
                return func(*args)
        return inner
    return a
@test(flag=1)
def b(res):
    return res
print(b(1))

当在开发系统的过程中,会面临着很多个接口。因顾及安全方面,我们通常会在每一个用户操作接口都会进行一次验证用户是否登录。那么这个时候,如果你用到装饰器,会让函数之间有很好的耦合性、也会更加有层次感。

相关文章
|
7天前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
49 1
|
7天前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
65 1
|
7天前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
50 0
|
9天前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
195 100
|
17天前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
223 101
|
9天前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
127 88
|
24天前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
169 99
|
24天前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
147 98
|
29天前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
1月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具

推荐镜像

更多