一、定义python
是一系列功能的结合体,本质上一个个的.py文件,至关于模块包着一堆函数体代码。函数
二、三种来源spa
2.一、python内置的模块:time , os ,sys, turtle 等code
2.二、第三方模块:requestsblog
2.三、自定义模块:本身写的.py文件内存
三、四种表现形式作用域
3.一、使用python编写的文件rem
3.二、编译后共享的库DLL或C或C++库requests
3.三、包下面带有__init__一组.py文件it
3.四、python解释器下的.py文件-------- python解释器下的文件夹-----------一个个的py文件
ps:包指的是内部包含__init__.py文件夹。
包的做用:存放模块,包能够更好的管理模块。
四、为何要使用模块
模块能够更好地帮咱们管理功能代码,好比函数,变量名...
能够将项目拆分红一个个的功能,分别存放在不用的py文件(模块)中。
五、模块的使用
鼠标右键建立py文件,在py文件中编写python代码。
在一个文件中,经过import 关键字导入模块。注意:import 导入模块时,模块名不能.py后缀。
当首次导入模块时,会作三件事:
1 执行源文件代码
2 产生一个新的名称空间用于存放源文件执行过程当中产生的名字
3 在当前执行文件所在名称空间中获得一个名字func,更名字指向新建立的模块名称空间,若要引用模块名臣空间中的名字,须要加上该前缀,以下
import os #导入模块 os.open() #调用模块os中的open函数
加上os. 做为前缀就至关于说明要引用os名称空间中的名字。
强调:第一次导入模块已经将其加载到内存空间了,以后的重复导入会直接引用内存中已存在的模块,不会重复执行文件。
六、import语句导入多个模块
6.一、import语句
import module1 import module2 import module3 #或 import module1,module2,module3
不建议第二种方式,第一种更规范,可读性更强。
'''
分类导入:
1. python内置模块 2.第三方模块 3.自定义模块 '''
文件开头导入模块属于全局做用域,在函数体内导入模块属于局部做用域。
6.二、from-import语句
from os import open,remove,rename open() rename() remove() #无前缀的好处是代码更简洁,可是容易与当前名称空间中的名字冲突, # 若是当前名称空间存在相同名字,后定义的名字会覆盖以前定义的名字。
6.三、其余导入语法as
import os as o o.rename()
七、循环导入问题
解决方案1:导入语句放到最后,保证在导入时,因此名字都已经加载过
解决方案2:导入语句放到函数中,只有在调用函数时才会执行其内部代码
八、区分py文件的两种用途
一种被当程序/脚本执行,一种被当模块导入。区分方法:每一个py文件内置的__name__变量,该变量在py文件中当脚本执行时赋值为__main__,当模块导入时赋值为模块名。
if __name__ == '__main__': foo.py被当作脚本执行时运行的代码 else: foo.py被当作模块导入时运行的代码