python进阶之装饰器

装饰器

*表面意思是装饰对象的器件
*在不修改原有代码的情况下,为被修饰的对象增加新的功能或者限制条件
*有函数的装饰器,也有类的装饰器
*如果想装饰类或者函数用法:@装饰对象名,放在装饰对象上下如:
# 定义一个装饰器(函数)
# 装饰器函数必须有且只有一个参数,该参数表示被修饰函数的名字
# @outer表示在调用装饰器函数
def outer(func):# 2.func = fun1
    print("我是装饰器")
    def inner():
        print("安全认证功能")
        func()      # 3、func() ==> fun1()
    return inner()  # 4、将结果返回给被装饰的函数名
# @outer  # 1、装饰器函数会被调用
# def fun1(): # 5、f1 = inner
#   print('业务部门1的数据接口')
@outer
def fun2():
    print("业务部门2的数据接口")
#6、实际调用的是inner函数
fun2

# 装饰器第二个例子
def o2(f2):
    def inner(n):
        print("安全认证功能")
        f2(n)
    return inner
@o2
def f2_1(dun):
    print(dun)
f2_1(2)

输出结果:

我是装饰器
安全认证功能
业务部门2的数据接口
安全认证功能
2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值