美文网首页
生成器 迭代器 装饰器 代码

生成器 迭代器 装饰器 代码

作者: 精彩i人生 | 来源:发表于2018-05-20 18:56 被阅读0次

    生成器 (斐波拉契数列)

        def fib(times):
            n = 0
            a,b = 0,1
            while n<times:
                  print(b)
                  a,b = b,a+b
                  n+=1
                  return 'done'
    

    迭代器

    可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。
    可以使用 isinstance() 判断一个对象是否是 Iterator 对象:

        from collections import Iterator
    
        isinstance((x for x in range(10)), Iterator)
        True
    
        isinstance([], Iterator)
        False
    
        isinstance({}, Iterator)
        False
    
        isinstance('abc', Iterator)
        False
    
        isinstance(100, Iterator)
        False
    

    装饰器

        def w1(fun):
            def inner():
                print("验证")
                fun()
            return inner
    
        def test():
            print("哈哈哈")
    
        test = w1(test)
        test()
    

        def w1(fun):
            def inner():
                print("验证")
                fun()
            return inner
    
        @w1 
        def test():
            print("哈哈哈")
    
        test()

    相关文章

      网友评论

          本文标题:生成器 迭代器 装饰器 代码

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