zoukankan      html  css  js  c++  java
  • 三大器 (装饰器、迭代器、生成器)

    装饰器

    import time
    # 计算函数执行时间的装饰器
    def timmer(f):
    def inner(*args, **kwargs):
    start = time.time()
    ret = f(*args, **kwargs)
    end = time.time()
    print(end - start)
    return ret
    return inner


    # 打印hello的函数
    @timmer
    def func(a, b=2):
    print("hello", a, b)
    time.sleep(0.1)
    return "bye"

    ret = func(8)
    print(ret)



    迭代器
    含有__iter__方法的都是可迭代的----可迭代协议
    可迭代的.__iter__ 就变成一个迭代器,并含有__next__方法
    迭代器.__next__就可以一个一个的进行取值


    生成器
    含有yield关键字的函数都是生成器函数,

    yield和return在函数中不能共存

    生成器函数的执行就是一个生成器



  • 相关阅读:
    UVA10891
    UVA10453
    UVA 10201
    UVA10154
    UVA11137
    UVA10617
    UVA10271
    UVA10739
    UVA10306
    节流防抖
  • 原文地址:https://www.cnblogs.com/QimiSun/p/9648914.html
Copyright © 2011-2022 走看看