模块与包
python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取.
python文件分为:执行文件(解释器运行的文件),被引用文件(import)
模块引用一共发生了3件事:
1.他在内存中开辟了以模块名命名的内存空间
2.你模块文件的所有内容都加载到了内存.
3.通过模块名.的方式去引用模块中的对象
为模块起别名:
1,将模块名较长的改为较短的,便于操作
import time as tm tm.time()
2.拓展代码
from .... import .... 方式引用 #好处:使用方便 缺点:可能与执行稳健的变量名产生冲突 所以不太推荐使用
from time import time #从from模块引用time()函数 print(time()) #这样引用可以直接使用time函数,前边不用加time. 1546415379.0057561
改名
from time import time as tm print(tm()) 1546415633.2531772
__name__
__name__被当做执行文件执行时__name__ 为__main__ ,被引用时 __name__为模块名
执行模块wk
name = 'wk' def read1(): print('tbjx模型', name) def read2(): print('嘻嘻') read1() print(__name__) __main__
在其他文件引用模块wk
import wk wk
__name__用于调试模块
name = 'wk' def read1(): print('tbjx模型', name) def read2(): print('嘻嘻') read1() print(__name__) if __name__ == '__main__': #如果说执行的是本文件,__name__就是__main__ ,判断后就能调用函数,如果是import调用的__name__就是函数名,不会调用函数 read2()
模块的引用顺序
1.先从内存中找
2.内置模块(os,time,sys..)
3.sys.path