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)
    
    
    
    
    
  • 相关阅读:
    eslint 入门项目搭建过程
    ES6 模块化笔记
    闭包
    JavaScript 内存相关知识
    Mac 配置Charles,抓取移动设备数据
    jquery.cookie的path坑
    如何模拟click事件,打开一个a标签链接?
    6月份开发问题整理
    js 淡入淡出的tab选项卡
    点击弹出模态框-以登录表单为例
  • 原文地址:https://www.cnblogs.com/hhsh/p/9534979.html
Copyright © 2011-2022 走看看