首页 > Web开发 > 详细

生成器,迭代器,json

时间:2017-10-25 10:49:49      阅读:244      评论:0      收藏:0      [点我收藏+]

一、生成器

可以通过for遍历的数据类型就是可迭代类型,可以next的为迭代器,迭代器都是可以迭代的。比如列表

生成器是在没有调用时是不会生成元素的。只有通过调用,比如for循环,或者next()就会生成一个新元素。

举例

c=(i*2 for i in range(10))
    for i in c:
        print(i)

  这个就是一个生成器。

函数可以通过yield来变成生成器

def sal(max):
    n=0
    while n<max:
        yield n
        n+=1

  这样也是一个生成器

  二、迭代器

可以通过next来取得当前元素,返回当前状态

def sport:
    while True:
        project=yield
        print("start %s sport"%project)

c1=sport()
c2=sport()

  迭代器可以通过send()来发射一个值给予yield,并返回下一个状态,

通过send可以达到并发的效果

三、json

json.dumps和json.loads序列化和反序列化

json只能用于比较简单的数据类型:列表,字典这些

复杂数据比如函数,就必须通过pickle来序列化

pickle.dumps和pickle.loads序列化和反序列化

生成器,迭代器,json

原文:http://www.cnblogs.com/woshimanong/p/7727391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!