python-N02 模块

  1. 模块
    • 模块化指将一个完整的程序分解成一个个的小模块
    • 通过将模块组合,来搭建出一个完整的程序
    • 模块化的有点
    • 方便开发
    • 方便维护
    • 模块可以复用
  2. 模块的创建
    • 在Python当中一个py文件就是一个模块
    • 在一个模块中引入外部模块 import 模块名(模块名就是py文件)
    • 可以引入同一个模块多次,但是模块的实例只会创建一次
    • import 模块名 as 模块别名
    • 在一个模块内部都有一个name。通过它我们可以获取模块的名字
    • 如果py文件直接运行时,那么name默认等于字符串'main'。name属性值为main的模块是主模块。一个程序中只有一个主模块
  3. 模块的使用
    • 访问模块中的变量 语法是 模块名.变量名
    • 访问模块中的函数 语法是 模块名.函数名
    • 访问模块中的对象 语法是 模块名.对象名
    • 我们也可以引入模块中部分内容 语法 from 模块名 import 变量,变量......
    • 还有一种引入方式 语法 from 模块名 import 变量 as 别名
  4. 列表推导式
    • 概念:从旧的列表(容器)中得到新的列表
    • 语法:
    • 1. [变量 for 变量 in 旧列表(容器)]
    • 2. [变量 for 变量 in 旧列表(容器)if 条件表达式]
  5. 生成器
    • 概念:在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))
注意:生成器只能使用一次,取完元素,生成器里则无元素
  1. 迭代器
    • 可迭代对象:能用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)
注意:迭代器同样只能取一次

你可能感兴趣的:(python-N02 模块)