1.迭代器
1.1迭代器说明
1.1.1迭代器也是容器型数据类型,可以遍历,可以转化成列表和元组
1.1.2打印迭代器的时候无法打印里面的元素,迭代器不支持len操作
1.1.3如果需要迭代器中的元素,需要从迭代器中取出,取出之后迭代器中就没有了,且不能添加回去
1.2创建迭代器
1 | 方式1:通过iter将其他序列转换成迭代器 |
1.3获取迭代器的元素
1.3.1获取单个元素:next(迭代器)
1 | iter1 = iter('abc') |
1.3.2获取多个元素:通过循环遍历得到
2.生成器(generator)
2.1生成器是具备能够产生多个数据能力的一种容器。
2.2生成器在获取数据的时候和迭代器一样
2.3创建生成器 - 调用一个带有yield关键字的函数就可以得到一个生成器对象
2.4如果一个函数中存在yield,函数调用过程中不会执行函数体,也没有返回值,而是一个生成器对象
1 | def func1(): |
2.5 控制生成器产生数据的能力
执行生成器对应的函数会遇到几次yield,这个生成器就能产生多少个数据
每次遇到yield的时候,yield后面值就是对应产生的数据
1 | def func2(): |
练习1:创建一个生成器函数,可以产生前N个偶数,偶数从0开始
1 | def func3(n): |
2.6生成器产生数据的原理
2.6.1通过生成器对象获取数据的时候,才会执行对应的函数,每次遇到yield的时候返回yield后面的数据
并记录该位置,然后从这里停止,下一次获取数据的时候从上一次结束的位置开始到下一个yield
1 | def func4(): |
3.模块
3.1 python中一个Py文件就是一个模块
3.2如何在一个模块中使用另一个模块的内容
1 | 1.首先被使用的模块的模块名必须是标识符并且不是关键字 |
3.3导入模块的原理
3.3.1当通过import或者from-import导入一个模块时,系统会自动将这个模块中的代码执行一遍
1 | import test_2 |
4.包的使用 - 包就是包含__init__.py 文件的文件夹
4.1包的导入
1 | ## 直接导入包 |
4.2包的导入原理
1 | 通过包导入包中的模块的时候, |
4.3直接使用包中的快捷键
1 | from files import read_excel |