模块定义
什么是模块:一个py文件就是一个模块
模块分为三类:
内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种.
自定义模块:自己写的模块
第三方库(模块):各种大神写的一些模块,通过pip install....安装.6000种.
模块的引入
import引用模块发生三件事.
1. 将模块名.py文件加载到内存.
2. 在内存中创建一个以模块名命名的名称空间.
3. 通过模块名,名称空间的名字.等方式引用此模块的名字(变量,函数名,类名等等).
通过import 引用模块 他有自己的独立名称空间,与当前执行文件没有关系.
起别名:将一个比较长的模块名化简成简单的
import 模块名 as f1(别名)
优点:
书写方便
简化代码
import 引入多个模块
import os
import sys
import time
#易于阅读 易于编辑 易于搜索 易于维护。__main__
from...import....
相当于从(模块名)模块的全局空间中将变量与值的对应关系
复制到当前执行文件的全局名称空间中.
from time import clock
从time 模块中引入clock
#优点:使用起来方便了.
#缺点:容易与当前执行文件产生覆盖效果.
载入多个函数或者变量
from ... import * 与__all__
配合使用(写在模块文件中)
__all__=['函数名'] #在模块文件开头写入你要导入的函数
py文件的两种功能
用来控制.py文件在不同的应用场景下执行不同的逻辑(或者是在模块文件中测试代码)
在模块文件中写入 print(__name__)
如果模块文件当脚本执行显示:__main__
如果模块文件被引入时执行显示:模块名字 例如:tbjx
寻找模块的路径: 内存 ----> 内置模块 ---> sys.path中找
只要这三个地方:内存 内置模块 sys.path可以找到这个引用的模块的路径,这个模块就可以直接引用到
import sys #导入sys模块
print(sys.path)
sys.path.append(r'E:Python项目666') #将要导入模块的目录添加到sys.path这个列表下
import tbjx #这时候再导入就OK了
print(tbjx.name)