什么是模块:一个py文件就是一个模块python
模块分为三类:app
内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种.函数
自定义模块:本身写的模块测试
第三方库(模块):各类大神写的一些模块,经过pip install....安装.6000种.code
import引用模块发生三件事.ip
\1. 将模块名.py文件加载到内存.内存
\2. 在内存中建立一个以模块名命名的名称空间.pip
\3. 经过模块名,名称空间的名字.等方式引用此模块的名字(变量,函数名,类名等等).class
经过import 引用模块 他有本身的独立名称空间,与当前执行文件没有关系.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)