Python模块,生成器和迭代器
Python模块,生成器和迭代器
一、模块
1.1模块
- 模块化指将⼀个完整的程序分解成⼀个个的小模块。
- 通过将模块组合,来搭建出⼀个完整的程序。
- 模块化的特点:
- 方便开发
- 方便维护
- 模块可以复用
1.2模块的创建
- 在Python当中⼀个py⽂件就是⼀个模块
- 在⼀个模块中引⼊外部模块 import 模块名(模块名就是py⽂件)
- 可以引⼊同⼀个模块多次,但是模块的实例只会创建⼀次
- import 模块名 as 模块别名
- 在⼀个模块内部都有⼀个__name__。通过它我们可以获取模块的名字
- 如果py⽂件直接运⾏时,那么__name__默认等于字符串’main’。__name__属性值为__main__的模块是主模块。⼀个程序中只有⼀个主模块
1.3模块的使用
语法 | 用途 |
---|---|
模块名.变量名 | 访问模块中的变量 |
模块名.函数名 | 访问模块中的函数 |
模块名.对象名 | 访问模块中的对象 |
-
引入模块方法
-
import xxx
-
import xxx as yyy
-
from xxx import yyy,zzz,bbb
-
from xxx import *
-
from xxx import yyy as zzz
二、推导式
- 推导式分成三类:
- 列表推导式
- 字典推导式
- 集合推导式
- 语法:
-
[变量 for 变量 in 旧列表] 或者 [变量 for 变量 in 旧列表 if 条件判断]
三、生成器
- 在Python当中有一种一边循环一边计算的机制我们称之为生成器(generator)
- 获取元素的方式:
- 通过调用__next__来获取元素
- 通过next()
- 生成器的实现:
- 通过列表推导式来得到生成器
- 通过函数来得到生成器
- 函数生成器生成方法
- 定义一个函数,函数中要使用yield关键字
- 调用函数,接收调用的结果 结果就是一个生成器
- 借助next() next 获取元素
四、迭代器
-
迭代,获取元素的一次过程。
-
一般就是指可迭代对象,简单理解可以for循环的。
-
可迭代对象包含 {列表 集合 字典 字符串 元祖 生成器}
-
生成器是可迭代的,也是迭代器
-
列表是可迭代的,但是不是迭代器
-
通过iter()函数可以将可迭代的变成一个迭代器。