模块是程序代码和数据的封装。
模块需要先导入,然后才能使用其中的变量或函数。可使用impo或from语句来导入模块,其基本格式如下:
import 模块名称
import 模块名称 as 新名称
from 模块名称 import 导入对象名称
from 模块名称 import 导入对象名称 as 新名称
from 模块名称 import*
1.import语句
import语句用于导入整个模块,可以用as为导入的模块指定一个新的名称。使用import语句导入模块后,模块中的对象均以“模块名称.对象名称”的方式来引用。
2.from语句
from语句用于导入模块中的指定对象。导入的对象直接使用,不需要使用模块名称作为限定符。
3.from…import*语句
使用 * 时,可导入模块顶层的全局变量和函数。
一.导入与执行模块
import和from语句在执行导入操作时,会执行被导入的模块。模块中的赋值语句执行时创建变量,def语句执行时创建函数对象。总之,模块中的全部语句都会被执行,而且只执行一次。当再次使用import或from语句导入模块时,并不会执行模块代码,而只是重新建立到已经创建的对象的引用而已。
import和from语句都是隐性的赋值语句。
二.重新载入模块
python在import模块中提供了reload函数来重新载入并执行模块代码。使用reload重载模块时,如果文件已经被修改,则会执行修改后的代码。
reload函数用模块变量作为参数,重载对应模块,所以,reload重载的只是使用import语句已经导入的模块。如果模块还没有导入,执行reload重载则会出错。
三. __ name __ 属性和命令行参数
在作为导入模块使用时,模块 __ name __ 属性值为模块文件的主名。当作为顶层模块直接执行, __ name __ 属性为“ __ main __”。