python装饰器

python函数 专栏收录该内容
7 篇文章 0 订阅

python装饰器

# 装饰器
# 闭包:函数里面嵌套函数,外层函数返回内层函数的函数名
# 装饰器:本质就是闭包。
# 不修改原函数的前提下,方便的增加函数功能
def outer(func):
    def inner(*args, **kwargs):
        print("在原函数前增加新功能")
        func(*args, **kwargs)
        print("在原函数后增加新功能")
    return inner


@outer  # 表示:1.执行outer函数,并将其下方的函数名作为参数赋值给了outer函数 
        # 2.将outer函数的返回值重新赋值给了下方的函数
def f1():
    print("原功能块")


# f1 = outer(f1)
f1()


# 为了方便接收不同个数的参数,我们使用动态参数
@outer
def f2(*args, **kwargs):
    print("功能2")
    print(args, kwargs)


L = [1, 2, 5, 3, 4]
D = {"a": 3, "b": 6}
f2(*L, **D)


@outer
def f3(a, b):
    print("功能3")
    print(a, ",", b)


f3(6, 7)


@outer
def f100(a, b, c):
    print("功能100")
    print(a, ",", b, ",", c)


f100(7, 8, 9)

运行结果
在这里插入图片描述

  • 11
    点赞
  • 3
    评论
  • 16
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值