生成器(generator)迭代器(Iterator)time&random_module

列表生成式
[x*2 for x in rang(10)]
 
生成器  generator object
    创建生成器两种方式:
        1 (x*2 for x in range(10))>>>>>>>>>>>>generator object
        2  def f():
                yield
                print('ok')  不会执行
                f()>>>>>>>>>>>>>>generator object
 
        生成器的方法
            1 next(generator object)  >>>>>>>>>>>>>>>>>>>计算出值
                注意:生成器在创建的时候已经决定了生成器到底能计算值的个数,
                调用Next次数超过这个值就会报StopIteration
 
                遍历所有元素可以用for循环:
                        for i in [1,142,3,3,242,1]:
                            print i
                for循环内部做三件事:
                    1 调用对象的Iter方法,返回一个迭代器对象
                    2 while:
                        try:
                            i = next(list_Iterator)
                        except StopIteration:
                            break
        2 send():
            def f():
                print('ok')
                recv = yield 2
                print('ok')
            f().send(None) 等价于 next(f())
迭代器
     满足迭代器协议:
        1 内部有next方法
        2 内部有iter方法
 
 
     li = [1,2,3]:Iterable(内部有iter方法>>>>>>>>>>
     i = iter(li):list_Iterator
 
time 模块
    time.time() 时间戳
    time.strftime()
    time.gmtime()    UTC时间  结构化时间
    time.localtime()    结构化时间
    time.ctime()  设定好的时间格式
datetime
    datetime.datetime.now()
 
 
random
    chr(random.randrange()): 随机字母  验证码
 
 
 
 
 
 
 
 
 
 




Autor:VincentAdamNemessis E-mail:vincent5519@yeah.net QQ:3377299629 Wechat:ZTXLoveC3344
原文地址:https://www.cnblogs.com/VincentAdam/p/fbeb14cc1d9da1cfff792afefc0ecc0b.html