【Python】函数装饰器的简单使用

Python中的函数

Python中的函数也是一种基本类型,我们可以将一个函数作为参数传入另一个函数中:

def fun(f):
    print("执行了fun函数");
    f()


def my():
    print("换欢迎进入我的Python程序");

my = fun(my)
运行结果:

执行了fun函数

换欢迎进入我的Python程序

函数装饰器

现在,我们将上面的代码用函数装饰器改写一下:

def fun(f):
    print("执行了fun函数");
    f()


@fun
def my():
    print("换欢迎进入我的Python程序");

运行结果

执行了fun函数

换欢迎进入我的Python程序

还可以向装饰器其中传入其他参数:

def fun(st):
    print("执行了fun函数")
    def wrap(f):
        print("你传入的是:" + st)
        f()
    return wrap

@fun("你好")
def my():
    print("欢迎进入我的Python程序");

运行结果

执行了fun函数

你传入的是:你好

欢迎进入我的Python程序

有些看不懂?没关系,我们将上面的代码转换成普通函数的格式:

def fun(st):
    print("执行了fun函数")
    def wrap(f):
        print("你传入的是:" + st)
        f()
    return wrap


def my():
    print("欢迎进入我的Python程序");
    
my = fun("你好")(my)

解释:

  • fun函数接收一个字符串参数,当我们调用fun函数时,它会返回一个函数 wrap。
  • 这个wrap函数接收一个函数类型的参数并调用它。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值