Python 装饰器

2022-05-18 14:28:00 浏览数 (1)

装饰器

什么是装饰器
  • 也是一种函数
  • 可以接受函数作为参数
  • 可以返回函数
  • 接收一个函数,内部对其处理,然后返回一个新函数,动态的增强函数功能
  • c函数a函数中执行,在a函数中可以选择执行不执行c函数,也可以对c函数结果进行二次加工处理
装饰器的定义
代码语言:javascript复制
def out(func_args): 外围函数
	def inter(*args, **kwargs): 内嵌函数
		reture func_args(*args, **kwargs)
    return inter   外围函数返回内嵌函数
装饰器的用法
  • 被调用的函数直接作为参数传入装饰器外围函数括弧
  • 将装饰器与被调用函数绑定在一起
  • @符号 装饰器函数放在被调用函数的上一行 , 被调用的函数正常定义 , 只需要直接调用被执行函数即可
代码
代码语言:javascript复制
# coding:utf-8

def check_str(func):
    print('func:', func)
    def inner(*args, **kwargs):
        print('args:', args, kwargs)
        result = func(*args, **kwargs)
        if result == 'ok':
            return 'result is %s' % result
        else:
            return 'result is failed:%s' % result
    return inner

@check_str
def test(data):
    return data

result = test(data='no')
print(result)

result = test('ok')
print(result)

0 人点赞