Python 模块是一个以 .py 结尾的 Python 文件,包含了 Python 对象定义和Python语句。每个模块在python里都被看作是一个独立的文件。模块能够被别的程序引入,以使用该模块中的函数等功能,这也是使用 python 标准库的方法。python
模块能够导入其它模块,习惯上把全部 import语句放在模块的开头(不要求)。模块导入的方式有几种:程序员
import module1[, module2[,... moduleN]] # 例如导入一个path模块 import path
直接使用关键词import
,后面跟具体的模块名称,就能够导入某一个模块。同一个模块无论执行了多少次import
,都只会被导入一次,以防止模块被一遍又一遍的执行。 模块引入好后,若是要调用模块中的函数,必须以下:shell
模块名.函数名
from modname import name1[, name2[, ... nameN]] # 例如要导入pprint模块的pprint from pprint import pprint
在使用import语句
导入模块时会将整个模块引入进来,而使用from...import 语句则是从模块中导入一个指定的部分到当前命名空间中。如上面代码中则只会导入pprint模块中的pprint函数,其余函数并不会导入。函数
import语句
引入模块后,若是须要使用模块里的函数方法,则须要加上模块的限定名字,而from...import语句
则不用加模块的限定名字,直接使用其函数方法;code
# 第一种方式 import pprint pprint.pprint("hello world") # 第二种方式 from pprint import pprint pprint("hello world")
from…import*
语句来引入模块from…import*
语句表示把一个模块的全部内容全都导入到当前的命名空间。对象
from modname import *
在多数状况下,Python程序员都不会使用这个功能,由于它在解释器中引入了一组未知的名称,而它们极可能会覆盖一些你已经定义过的东西。 注意一般状况下从一个模块或者包内调入 * 的作法是不太被接受的, 由于这一般会致使代码的可读性不好。不过,在交互式编译器中为了节省打字能够这么用。编译器
__name__
属性一个模块被另外一个程序第一次引入时,其主程序将运行。若是咱们想在模块被引入时,模块中的某一程序块不执行,咱们能够用__name__
属性来使该程序块仅在该模块自身运行时执行。 每一个模块都有一个__name__
属性,当其值是'__main__'
时,代表该模块自身在运行,不然是被引入。it
if __name__ == "__main__": print("模块自身在运行")
搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块。当一个模块被导入的时候,模块的搜索路径为:编译
PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径,能够经过以下方式访问:import
import sys sys.path
做为环境变量,PYTHONPATH 由装在一个列表里的许多目录组成。PYTHONPATH 的语法和 shell 变量 PATH 的同样。 在 Windows 系统,典型的 PYTHONPATH 以下:
set PYTHONPATH=c:\python37\lib;