首页 > 编程语言 > 详细

Python包装器

时间:2021-01-25 14:23:33      阅读:48      评论:0      收藏:0      [点我收藏+]
    def func():
        print("func body")

    def f1(arg):
        print("f1:",arg)
        def wrapper(b):

            print("f1 wrapper:",b)
            return b
        return wrapper

    def f2(f):
        print("f2:",f)
        def wrapper(arg):
            print("f2 wrapper:",arg)
            f()
        return wrapper


    #          f1_wrapper(f2(func))
    #  f1_wrapper(f2_wrapper)
    func = f1("args")(f2(func))

    func(3)

    print("------------------------")

    @f1("1")
    @f2
    def fun2():
        print("fun2")


    fun2("12345")

  # 最后一个包装器会自动传入 fun 对象,调用流程为: fun2 = f1("1")(fun2("2"))
  # 中间步骤:
  # fun2 = f1_wrapper(f2_wrapper)

 

 

以上个人见解。。。。。

Python包装器

原文:https://www.cnblogs.com/XingXiaoMeng/p/14324539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!