装饰器的小知识

2018-07-01  本文已影响0人  shuffle笑

以下是我的所学到的装饰器小知识点

#1,无参数传入

def wai(fun):

    def nei():

        print("==检查==")

        fun()

    return nei

@wai

def foo():

    print("===foo===")

#foo()

#2,有参数传入

def wai1(fun):

    def nei(*args):

        print("__检查__当前值为", *args)

        fun(args)

    return nei

@wai1

def fcc(*args):

    print("___fcc___")

    print("fcc参数为", (args))

#fcc(1,2)

#3,不定长参数

def wai2(fun):

    def nei(*args,**kwargs):

        print("__检查__当前值为",  args)

        fun(*args,**kwargs)

    return nei

@wai2

def fcc(*args,**kwargs):

    print("___fcc___")

    print("fcc参数为",  args)

    print("fcc参数为",  kwargs)

#fcc(1,2,3,4,a=1,b=2,c='a')

#4,返回值

def wai(fun):

    def nei():

        print("==检查==")

        return fun()

    return nei

@wai

def foo():

    return "===foo==="

#print(foo())

#5,在里面传入参数

def zsq(a):  #1,最外成添加方法

    def wai(fun):  #传递的函数引用

        def nei():  #传递的 函数所需要的 参数

            print("==检查==")

            print('判断需要使用传入的参数为',a)

            return fun()

        return nei

    return wai  #2,返回 最近的内成函数

@zsq(12345)  #3,调用最外成的装饰器 名称 (传递参数)

def foo():

    return "===foo==="

print(foo())

好了就到这里了这里是我所学到的装饰器的一个知识点,等后期所学在来更新~~

上一篇 下一篇

猜你喜欢

热点阅读