python

作者: 刘心苔的python | 来源:发表于2018-08-26 15:22 被阅读14次

1、迭代器和生成器的区别

答:迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会后退。

可迭代对象有:列表、元组、字典、字符串、

整数和布尔型不是可迭代对象。

迭代器的作用:在迭代一个可迭代对象的过程种,实际上就是先获取该对象提供的一个迭代器,然后通过这个迭代器来依次获取对象中的每个数据。所以迭代器在底层实现了一个_iter_方法和next方法;所以通过iter方法获取迭代对象的迭代器,然后对获取到的迭代器通过不断使用next方法来获取下一条数据。当迭代器完最后一条数据之后,再次调用next方法就会抛出StopIteration的异常,来告诉我们所有数据迭代完成,不用再执行next方法。for循环也是个迭代器。

生成器:是一种特殊的迭代器。

创建的方法:

一、把一个列表生成式的[]改成(),就是生成器。

# 参考列表生成式:    li=[x*2forxinrange(6)]

# 把[] 改为() :就是一个简单的列表生成器:gen=(x*2forxinrange(6))   可以通过for循环遍历。

二、使用yield关键字的函数不再是函数,而是生成器,因此可以用yield创建生成器。

唤醒生成器的方法有:next方法和send方法

2、进程、线程和协程

进程:一个程序运行起来之后,代码和用到的资源,就是进程。进程式操作系统分配资源的基本单位。

使用multiprocessing模块导入process来创建进程实例,用start()方法启动进程,

相关文章

网友评论

    本文标题:python

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