zoukankan      html  css  js  c++  java
  • 闭包和装饰器

    #闭包,嵌套函数,内部函数调用外部函数的变量
    # def outer():
    #     a = 1
    #     def inner():
    #         print(a)
    #     return inner
    # 
    # inn = outer()
    # inn()
    # 
    # from urllib.request import urlopen
    # 
    # def get_url():
    #     url = 'http://www.xiaohua100.cn/index.html'
    #     def get():
    #         geting = urlopen(url).read()
    #         print(geting)
    #     return get
    # 
    # wget = get_url()
    # wget()
    # 装饰器的雏形
    # def wrapper(f):
    #     def inner():
    #         f()
    #         print(1)
    #     return inner
    #
    # def func():
    #     print(2)
    #
    # f = wrapper(func)
    # f()
    
    # 装饰器形成的过程 : 有返回值的 有一个参数*args  万能参数**kwargs
    # 装饰器的作用
    # 原则 :开放封闭原则
    # 语法糖 :@
    # 装饰器的固定模式
    
    # import time
    # 
    # 
    # def wraper(f):                    # 装饰器函数,f是被装饰的函数
    #     def inner(*args, **kwargs):
    #         start = time.time()
    #         f(*args, **kwargs)
    #         end = time.time()
    #         c = end - start
    #         print(c)
    #     return inner
    # 
    # 
    # @wraper                        # 语法糖,装饰器函数名,等于 sleeps = wraper(sleeps)
    # def sleeps(a, b):              # 被装饰的函数,带2个参数
    #     time.sleep(2)
    #     print("睡眠2秒", a, b)
    # 
    # 
    # @wraper                        # 语法糖,装饰器函数名,等于 sleeps = wraper(sleeps)
    # def sleeps1(a):                # 被装饰的函数,带1个参数
    #     time.sleep(2)
    #     print("睡眠2秒", a)
    # 
    # sleeps(1, b =2)
    # sleeps1(1)
    
    
    
    
    
  • 相关阅读:
    第一次结对编程作业
    第7组 团队展示
    第一次个人编程作业
    js学习笔记(1)
    第一次博客作业
    期末总结
    王者光耀团队作业
    第四次c++作业
    c++第三次作业
    第一次编程作业
  • 原文地址:https://www.cnblogs.com/hhsh/p/9534979.html
Copyright © 2011-2022 走看看