模块
程序引入模块路径要求:
1、模块和程序在同一个目录下
2、模块在pythonpath(环境变量)下
3、模块在python安装目录下的lib/site-packages下

程序导入模块的方式
1 相同目录
2 sys.path.append来添加
3 环境变量的pythonpath指定路径,必须重启cmd
4 在python安装路径下的site-packages的目录下添加 

1、相同目录导入模块
bb 和程序在同一个目录

#encoding=utf-8
import bb

print(bb.var)
print(bb.add(2,3))

2、通过sys.path.append()添加模块目录
#encoding=utf-8
import sys
sys.path.append("c:\\")
import bb

print(bb.var)
print(bb.add(2,3))

3、在python安装路径下的site-packages的目录下添加模块
#encoding=utf-8
import bb

print(bb.var)
print(bb.add(2,3))

4、配置环境变量的pythonpath路径
var = 10000

def add(a,b):
    return a + b

import 导入模块

import导入整个模块内容
想要使用另一.py文件中的属性或方法,必须导入该.py文件的源代码,import 语句,语法如下:
import module1[, module2[,... moduleN]
也就是说,使用import可以一次性导入多个模块,模块间以逗号分隔。当解释器遇到import语句,并且要导入的模块在当前搜索的路径,该模块就会被导入。搜索路径是一个解释器会先进行搜索的所有目录列表。比如如果想导入模块test.py,最规范的做法是把命令放在脚本的顶端

from ... import ....导入模块
from语句让你从模块中导入一个指定的部分到当前命名空间中,也就是执行的.py文
件的命名空间中

语法如下:
from modname import name1[, name2[,... nameN]]
如:from math import sqrt
这个声明不会把整个math模块导入到当前的命名空间,它只会把math模块中的sqrt
函数导入到执行这个声明的模块的全局符号表中。

reload 导入模块
表示重新导入已导入过的模块
import gloryroad.gr
Print (gloryroad.gr.add(1,2))

reload(gloryroad.gr)
print (gloryroad.gr.add(4,2))

说明:
使用reload()的时候,有一些标准。首先:模块必须是全部被导入,也就是必须是使用import导入的模块。其次:模块必须被导入成功。然后:reload()参数必须是模块自身,而不是包含模块名的字符串。也就是说,必须是reload(math),而不是reload(‘math’)。
最后:reload()再次导入的模块,会再次被执行,跟import不同。

import和from…import…的区别
1. import导入的是一整个模块,而from…import…导入的却是模块中某些特定的内容。
2. import导入的内容是存放在模块命名空间中的,而from…import…却是存放在当前命名空间中的。
3. 使用import导入的模块,访问其中的属性与方法时,需要使用模块名.方法名(或属性名等)。
4. 使用from…import…导入的模块,由于是导入到当前的命名空间中的,所以只需要直接使用属性名或方法名即可。
5. 当导入的多个模块中含有同名方法或属性时,如果使用import导入,后导入的同名方法或属性不会覆盖先导入的其他模块中的同名的方法或属性;如果使用from…import…导入的,后导入的同名属性或方法会覆盖最先导入的其他模块中的同名方法或属性。
说明:
1. 导入模块的语句最规范的做法是放在脚本的顶端,当然也可以在需要的地方直接导入需要的模块。
2. 导入一个模块时,模块中顶格写的代码(也就是没有缩进的代码)都会被执行一遍。
3. 一个模块只会被导入一次,而且是最早导入的那次,不管你执行了多少次import语句,这样是为了防止导入的模块被一遍又一遍的执行。
4. reload()导入后,模块中顶格代码仍会被执行一次。

导入时候定位模块的顺序
当导入一个模块时,Python解析器会去搜索该模块存在的位置,其搜索顺序为:

1、当前目录 
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。(需要本地电脑设置PYTHONPATH环境变量)
3、如果都找不到,python会查安装路径lib下的site-packages。Unix下,默认路径一般是/usr/local/python/。
模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,
PYTHONPATH由安装过程决定的默认目录。