模块
把一些定义存放在文件中,为一些脚本或者交互式的解释器实例使用
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能
1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
2、sys.argv 是一个包含命令行参数的列表。
3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表
import 语句
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
1)搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端
2)sys.path 输出是一个列表,其中第一项是空串’’,代表当前目录(若是从一个脚本中打印出来的话,可以更清楚地看出是哪个目录),亦即我们执行python解释器的目录(对于脚本的话就是运行的脚本所在的目录)。
因此若在当前目录下存在与要引入模块同名的文件,就会把要引入的模块屏蔽掉。
了解了搜索路径的概念,就可以在脚本中修改sys.path来引入一些不在搜索路径中的模块。
form… import语句
from 语句让你从模块中导入一个指定的部分到当前命名空间中
例如,要导入模块 fibo 的 fib 函数,使用如下语句
( 这个声明不会把整个fibo模块导入到当前的命名空间中,它只会将fibo里的fib函数引入进来)
form… import *语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的
>>>import sys
print(sys.argv[0])
form sys import argv
print (argv[0])
form sys import*
print(argv[0])
print(winver)
深入模块
1)模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。这些代码只有在第一次被导入时才会被执行。
2)每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。
3)模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用 import 来导入一个模块,当然这只是一个惯例,而不是强制的。被导入的模块的名称将被放入当前操作的模块的符号表中
4)可以使用 import 直接把模块内(函数,变量的)名称导入到当前操作模块
5)可以一次性的把模块中的所有(函数,变量)名称都导入到当前模块的字符表