Python入门
DAY 15
今日内容:模块
1.什么是模块
模块就是一系列的功能的集合体
模块的3种来源:1.内置的模块(os,sys,time) 2.第三方的模块(别人编写好的一些功能) 3.自定义模块
模块格式:1.使用python编写的.py文件
2.已被编译为共享库或DLL的c或c++扩展
3.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
4.使用c编写并链接到python解释器的内置模块
2.为什么要用模块
1.使用内置模块和第三方模块的好处是:拿来主义,可以极大提升开发效率
2.使用自定义模块的好处:可以减少代码冗余(将程序中一些公用的功能定义成模块,然后程序各部分组件课可以去模块中调用该功能)
3.如何用模块
大前提:一定要区分开谁是执行文件,谁是被导入模块
模块的两种使用方式,首先编写一个spam.py文件放入一些功能,这便是一个自定义模块
run.py为执行文件
方式一:在执行文件中访问模块名称空间中名字的语法:模块名.名字 列: import spam 即可调用模块spam
import导入模块:在使用时必须加上前缀:模块名. 列:我要用spam的功能(假设模块有功能func1,func2...)
调用时就要跟模块名 spam.func1() spam.func2() 如此去调用
优点: 指名道姓地向某一个名称空间要名字,肯定不会与当前名称空间中的名字冲突(有可能执行文件也会有func1这种变量名,前面加入模块名就不会产生冲突)
缺点: 但凡应用模块中的名字都需要加前缀,不够简洁
首次导入模块发生的件事
1. 会产生一个模块的名称空间
2. 执行文件spam.py,将执行过程中产生的名字都放到模块的名称空间中
3. 在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间
方式二:在执行文件中访问模块名称空间中名字的语法 列: from spam import func1,func2... 即可调用模块spam中的部分功能
直接func1()即可调用
总结:from...import...方式
优点: 使用时,无需再加前缀,更简洁
缺点: 容易与当前名称空间中的名字冲突
首次导入模块发生3件事
1. 创建一个模块的名称空间
2. 执行文件spam.py,将执行过程中产生的名字都放到模块的名称空间中
3. 在当前执行文件中直接拿到一个名字,该名字就是执行模块中相对应的名字的
以上为本次学习内容