转于:http://www.cnblogs.com/itfat/p/7481972.html
博主:东大网管
一、定义:
模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)
包:用来从逻辑上组织模块的代码,本质就是一个目录(必须带有一个__init__.py文件)。
二、导入方法:
A、格式:import module_name
B、引用脚本里的函数用方法module_name.logger()
C、import module1_name,module2_name
==>导入多个脚本模块
D、from module_alex import *
==>这里相当于导入module_alex脚本文件里的所有代码
E、from module_alex import m1,m2,m3
from module_alex import logger as logger_alex
==>这里相当于导入module_alex脚本里的logger函数,并给它起别名为logger_alex,注意这里的 logger不能写成 logger();
==>用from的方法,这个想再引用module_alex里的函数或者变量,直接logger()就OK了。如果有别名那么直接执行logger_alex()
三、import本质
==>把模块的所有代码解释了一遍,赋值给module_alex
A、from module_alex import name的本质(把name这个代码复制一份到当前脚本)
B、import本质(路径搜索和搜索路径)
# 导入模块的本质:就是把python文件解释一遍,然后赋值给模块名;(import test 相当于 test='test.py all code')
# 导入模块的过程:找文件,找文件所在的路径,找sys.path
==>所以 我们需要把当前脚本的绝对路径的父父路径,加到sys.path里去,这样就可以找到其他模块。