装饰器

作者: 策_54d3 | 来源:发表于2018-08-02 07:59 被阅读0次

    # 1.两个参数

    def wai(fun):

        def nei(n,y):

            print('检查 传递的参数是 %d =' % n)

            print('==函数调用前的检查==')

            print(n,y) #函数调用 传递实际参数

        return nei

    @wai

    def foo(a,b):

        print('==foo==')

        print('==foo==参数是 %d' % a)

    foo(1,3) 

    # 2.不定长参数

    def wai(fun):

        def nei(*args,**kwargs):

            print('检查 传递的参数是 ' , % args)

            print('==函数调用前的检查==')

            fun(*args,**kwargs)

        return nei

    @wai

    def foo(*args,**kwargs):  # *a()  **a{}

        print('==foo==')

        print('==foo==参数是' ,  args)

        print('==foo==参数是' , kwargs)

    foo(1,2,3,4,5,6,'a',a=1,b=2,c='a')

    # 3.返回值

    def wai(fun):

        def nei():

            print('==函数调用前的检查==')

            return('fun())

        return nei 

    @wai

    def foo():

        return('==foo==')

    print(foo()) 

    # 4.增加外部 参数传递

    def jsq(a):

        def wai(fun) :   

            def nei() : 

                print('函数调用前的检查==') 

                print('判断需要使用参数 这里 接受',a)

                  return nei

        return wai 

    @jsq(12345) 

    def foo():   

        return('==foo==')

    foo()             

    相关文章

      网友评论

          本文标题:装饰器

          本文链接:https://www.haomeiwen.com/subject/dhpsyftx.html