美文网首页
python入门与进阶(12-12)

python入门与进阶(12-12)

作者: buaishengqi | 来源:发表于2018-05-17 12:41 被阅读6次

    12-12 装饰器 五

    # 12-12 装饰器 五
    
    import time
    
    def decorator(func):#定义装饰器的外部函数
        def wrapper(*args):#可变参数
            print(time.time())
            func(*args)
        return wrapper 
    @decorator
    def f1(func_name):#此时的f1没有传入任何参数,那么如果有参数传入装饰器需要做哪些改变?
        print('this is a function named' + func_name)
    
    @decorator
    def f2(func_name1,func_name2):#此时的f1没有传入任何参数,那么如果有参数传入装饰器需要做哪些改变?
        print('this is a function named' + func_name1)
        print('this is a function named' + func_name2)
    
    @decorator#若将这个屏蔽,打印结果是正确的,若不屏蔽是错误的,如何修改?!!
    def f3(func_name1,func_name2,**kw):#定义一个关键字参数
        print('this is a function named' + func_name1)
        print('this is a function named' + func_name2)
        print(kw)
    f1('test func')
    f2('test func1','test func2')
    f3('test func1','test func2',a = 1,b = 2,c = '123')
    
    # f = decorator(f1)加上@语法糖以后,这部分可以省略了
    f1('test func')#直接调用f1 ,这个就是装饰器的优势!!
    
    
    
    
    import time
    
    def decorator(func):#定义装饰器的外部函数
        def wrapper(*args,**kw):#可变参数
            print(time.time())
            func(*args,**kw)
        return wrapper 
    @decorator
    def f1(func_name):#此时的f1没有传入任何参数,那么如果有参数传入装饰器需要做哪些改变?
        print('this is a function named' + func_name)
    
    @decorator
    def f2(func_name1,func_name2):#此时的f1没有传入任何参数,那么如果有参数传入装饰器需要做哪些改变?
        print('this is a function named' + func_name1)
        print('this is a function named' + func_name2)
    
    @decorator#若将这个屏蔽,打印结果是正确的,若不屏蔽是错误的,如何修改?!!
    def f3(func_name1,func_name2,**kw):#定义一个关键字参数
        print('this is a function named' + func_name1)
        print('this is a function named' + func_name2)
        print(kw)
    f1('test func')
    f2('test func1','test func2')
    f3('test func1','test func2',a = 1,b = 2,c = '123')
    
    # f = decorator(f1)加上@语法糖以后,这部分可以省略了
    f1('test func')#直接调用f1 ,这个就是装饰器的优势!!
    

    相关文章

      网友评论

          本文标题:python入门与进阶(12-12)

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