1、什么是模块
模块是一系列功能体的集合,算是一种代码'封装'的方式。 python脚本文件本身就是一个模块,我们运行一个脚本文件就是在执行该模块里面的代码功能。
python中的模块分为三类
# 内置模块:python解释器自带的模块,直接使用 # 第三方模块:python社区伙伴们开源提供的python模块,需要下载后使用 # 自定义模块:自定义模块指的是我们自己编写的脚本文件,文件名就是模块名,如 get_ size.py-->get_size就是模块名
模块的四种形式
1 使用python编写的.py文件 2 已被编译为共享库或DLL的C或C++扩展 3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包) 4 使用C编写并链接到python解释器的内置模块
2、使用模块的目的
#:内置与第三的模块拿来就用,无需定义,这种拿来主义,可以极大地提升自己的开发效率 #:自定义的模块 可以将程序的各部分功能提取出来放到一模块中为大家共享使用 好处是减少了代码冗余,程序组织结构更加清晰
主要的还是:提高开发效率,减少冗余代码
3、导入模块的几种方式
# 导入模块的方式 - 方式1:import module_name - 方式2:from modele_name import model_content1, modele_content2, ... - 方式3:from model_name import * - 方式4:import modele_name as nickname # 导入位置 - 文件头:文件开头导入的模块属于全局作用域 - 函数内:函数内导入的模块属于局部的作用域
导入模块的规范
# 在文件顶部导入所有模块,一个模块占一行(虽然一行内用逗号隔开可以导入多个模块) # 导入顺序: 每类模块间空一行, 且同类模块下按照模块名字母先后顺序排列 1 python内置模块 2 第三方模块 3 程序员自定义模块 # 模块名命名:模块名即python脚本文件名,和变量名命名规范一致。
注意:无论是查看还是修改操作的都是模块本身,与调用位置无关。
模块和函数一样,也是第一类对象,支持对象赋值,当参数、当容器类数据的元素等操作。
4、导入模块经历的一系列事情
# 1、执行被导入模块源文件代码; # 2、产生一个新的名称空间(名字是被导入模块名),存放被导入模块运行过程中产生的所有名字; # 3、将模块的名称空间的名字添加到当前执行文件所在的名称空间中 # 使用模块内的名字,在当前文件中通过模块的名字就可顺蔓摸瓜找到所需要的名字。
注意:模块再次被导入时,都是直接引用首次导入产生的名称空间,不会重复执行代码