page contents

多个装饰器叠加怎么使用?

多个装饰器叠加怎么使用

# 定义函数:完成包裹数据

def maketest1(fn):

    def wrapped():

        return "哈" + fn() + "哈"

    return wrapped


# 定义函数:完成包裹数据

def maketest2(fn):

    def wrapped():

        return "嘻" + fn() + "嘻"

    return wrapped


@maketest1

def test1():

    return "hello"       # 结果:"哈"+"hello"+"哈"


@maketest2

def test2():             #  结果:"哈"+"hello2"+"哈"

    return "hello2"


@maketest1

@maketest2

def test3():

    return "hello3"


print(test1())

print(test2())

print(test3())

# 多个装饰器的装饰过程是: 离函数最近的装饰器先装饰(把最近的作为业务函数的整体再装饰到maketest1里),然后外面的装饰器再进行装饰,由内到外的装饰过程

  • 发表于 2021-08-18 18:44
  • 阅读 ( 471 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

28 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章