1.什么是模块
模块就是一系列功能的集合体
模块有三种来源
1.内置模块
2.第三方模块
3.自定义模块
模块的格式
1. 使用python编写的.py文件
2. 已被编译为共享库或DLL的C或C++扩展
3. 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
4.使用C编写并链接到Python解释器的内置模块
2.为何要使用模块
1.使用内置或第三方模块的好处是:拿来主义,可以极大的提高开发效率
2.使用自定义模块的好处是:可以减少代码冗余。(抽取我们程序中公用的功能定义成模块,然后各程序从模块中调用共享的功能)
3.如何使用模块
一定要区分谁是执行文件,谁是被导入模块
1.import的使用 import spam:
模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入import语句时才执行
2.在第一次导入模块时会做三件事,重复导入会直接引用内存中已经加载好的结果
1.为源文件(spam模块)创建新的名称空间,spam中定义的函数和方法若使用到了global时访问的就是这个名称空间
2.在新创建的命名空间中执行模块中包含的代码,见初始导入import spam
3.创建名字spam来引用该命名空间
3.被导入模块有独立的名称空间
每个模块都是一个独立的名称空间,定义在这个模块中的函数,把这个模块的名称空间当做全局名称空间,这样我们在编写自己的模块时,就不用担心我们定义在自己模块中全局变量会在被导入时,与使用者的全局变量冲突
4.为模块起别名
为已经导入的模块起别名的方式对编写可扩展的代码很有用
import spam as sm
print(sm.money)
5.在一行导入多个模块
import sys,os,re
6.from...import...的使用 from spam import read1,read2
与import的区别就是;使用from..import..则是将spam中的名字直接导入到当前的名称空间中,所以在当前名称空间中,直接使用名字就可以了,无须加前缀,spam
好处:使用起来方便了
坏处:容易与当前执行文件中的名字冲突