Python模块,生成器和迭代器

Python模块,生成器和迭代器

一、模块

1.1模块

  • 模块化指将⼀个完整的程序分解成⼀个个的小模块。
  • 通过将模块组合,来搭建出⼀个完整的程序。
  • 模块化的特点:
  • 方便开发
  • 方便维护
  • 模块可以复用

1.2模块的创建

  • 在Python当中⼀个py⽂件就是⼀个模块
  • 在⼀个模块中引⼊外部模块 import 模块名(模块名就是py⽂件)
  • 可以引⼊同⼀个模块多次,但是模块的实例只会创建⼀次
  • import 模块名 as 模块别名
  • 在⼀个模块内部都有⼀个__name__。通过它我们可以获取模块的名字
  • 如果py⽂件直接运⾏时,那么__name__默认等于字符串’main’。__name__属性值为__main__的模块是主模块。⼀个程序中只有⼀个主模块
    Python模块,生成器和迭代器
    Python模块,生成器和迭代器

1.3模块的使用

语法 用途
模块名.变量名 访问模块中的变量
模块名.函数名 访问模块中的函数
模块名.对象名 访问模块中的对象
  • 引入模块方法

  • import xxx

  • import xxx as yyy

  • from xxx import yyy,zzz,bbb

  • from xxx import *

  • from xxx import yyy as zzz
    Python模块,生成器和迭代器
    Python模块,生成器和迭代器

二、推导式

  • 推导式分成三类:
  • 列表推导式
  • 字典推导式
  • 集合推导式
  • 语法:
  • [变量 for 变量 in 旧列表] 或者 [变量 for 变量 in 旧列表 if 条件判断]
    Python模块,生成器和迭代器
    Python模块,生成器和迭代器

三、生成器

  • 在Python当中有一种一边循环一边计算的机制我们称之为生成器(generator)
  • 获取元素的方式:
  • 通过调用__next__来获取元素
  • 通过next()
  • 生成器的实现:
  • 通过列表推导式来得到生成器
  • 通过函数来得到生成器
  • 函数生成器生成方法
  • 定义一个函数,函数中要使用yield关键字
  • 调用函数,接收调用的结果 结果就是一个生成器
  • 借助next() next 获取元素
    Python模块,生成器和迭代器
    Python模块,生成器和迭代器

四、迭代器

  • 迭代,获取元素的一次过程。

  • 一般就是指可迭代对象,简单理解可以for循环的。

  • 可迭代对象包含 {列表 集合 字典 字符串 元祖 生成器}

  • 生成器是可迭代的,也是迭代器

  • 列表是可迭代的,但是不是迭代器

  • 通过iter()函数可以将可迭代的变成一个迭代器。
    Python模块,生成器和迭代器