- 模块
• 模块化指将一个完整的程序分解成一个个的小模块
• 通过将模块组合,来搭建出一个完整的程序
• 模块化的有点
• 方便开发
• 方便维护
• 模块可以复用
- 模块的创建
• 在Python当中一个py文件就是一个模块
• 在一个模块中引入外部模块 import 模块名(模块名就是py文件)
• 可以引入同一个模块多次,但是模块的实例只会创建一次
• import 模块名 as 模块别名
• 在一个模块内部都有一个name。通过它我们可以获取模块的名字
• 如果py文件直接运行时,那么name默认等于字符串'main'。name属性值为main的模块是主模块。一个程序中只有一个主模块
- 模块的使用
• 访问模块中的变量 语法是 模块名.变量名
• 访问模块中的函数 语法是 模块名.函数名
• 访问模块中的对象 语法是 模块名.对象名
• 我们也可以引入模块中部分内容 语法 from 模块名 import 变量,变量......
• 还有一种引入方式 语法 from 模块名 import 变量 as 别名
- 列表推导式
• 概念:从旧的列表(容器)中得到新的列表
• 语法:
• 1. [变量 for 变量 in 旧列表(容器)]
• 2. [变量 for 变量 in 旧列表(容器)if 条件表达式]
- 生成器
• 概念:在python中有一边循环一边计算的机制,称之为生成器
• 作用:生成器的出现是为了避免快速生成一批数据、瞬间占用内存过大的问题
• 生成器的创建:
• 方式一:使用列表推导式
gen = (i for i in range(10))
i = 0
while i < 10:
print(next(gen))
i += 1
• 方式二:使用函数实现
def fn():
i = 0
while i < 10:
i += 1
yield i
gen = fn()
for i in list(gen):
print(i)
print(list(gen))
注意:生成器只能使用一次,取完元素,生成器里则无元素
- 迭代器
• 可迭代对象:能用for循环遍历的都是可迭代对象,字符串、列表、元组、集合等容器都是可迭代对象:Iterable
• 可迭代对象拥有iter方法,即返回自身的方法
• 迭代器:可以被next函数调用并不断返回下一个值的对象成为迭代器:Iterator
• 迭代器的创建
list1 = [1, 2, 3, 4, 5, 6, 7, 8 ,9, 10]
it = iter(list1)
print(it)
result = [i for i in it]
print(result)
result1 = [i for i in it]
print(result1)
注意:迭代器同样只能取一次