Python数据分析基础与应用电子活页2-22导入Python模块.docx
Python数据分析基础与应用
模块
PAGE2
PAGE21
电子活页2-22导入Python模块
Python的内置模块不需要安装,但在使用内置模块的时候需要导入,例如importsys表示导入sys模块。
Python的模块或程序文件中可以导入其他模块,可以使用import或者from…import语句来导入相应的模块。通常在一个模块或程序文件的最前面使用import语句来导入所需模块,当然这只是一个惯例,而不是强制的,被导入的模块名称将被导入当前操作模块的符号表中。
1.使用import语句导入模块
想要使用Python的模块中的变量或函数,需要在另一个文件里执行import语句加载模块中的代码,其基本语法格式如下:
importmodule1[,module2,…,moduleN][asalias]
其中,module1,module2,…,moduleN表示要导入模块的名称;asalias表示为模块设置别名,通过该别名也可以使用该模块。
import语句允许一次导入多个模块,在导入多个模块时,各模块名称使用逗号“,”分隔,但这种做法不推荐,因为这会降低代码的可读性。
当解释器执行import语句时,如果要导入的模块位于当前的搜索路径中就会被导入,搜索路径是解释器会先进行搜索的所有文件夹的列表。
不管执行多少次impor语句,一个模块只会被导入一次,这样可以防止导入模块被一遍又一遍地执行。
如果模块名称比较长且不容易记住,可以在导入模块时使用as关键字为该模块设置一个别名,然后就可以通过这个别名来调用模块中的变量、函数等对象。
例如,使用turtle模块时执行以下代码:
importturtleast
t.penup()#抬笔
t.goto(x,y)#画笔起始位置
t.pencolor(rectcolor)#画笔颜色
t.pendown()#落笔
t.fillcolor(rectcolor)#设置填充颜色
如果经常使用一个函数,也可以将该函数名称赋值给一个本地的变量,然后通过本地的变量名调用模块中的函数。
2.使用from…import语句导入模块
使用import语句导入模块时,每执行一条import语句都会创建一个新的命名空间(Namespace),并且在该命名空间中执行与.py文件相关的所有语句。在执行时,需要在具体的变量、函数名称前加上“模块名称.”前缀。如果不想在每次导入模块时都创建一个新的命名空间,而将具体的定义导入当前的命名空间,可以使用from…import语句。使用from…import语句导入模块后,不需要再添加“模块名称.”前缀,直接通过具体的变量、函数名称调用对应的变量、函数即可。
Python的from…import语句的功能是从模块中导入一个指定的函数或变量的名称到当前模块中,其基本语法格式如下:
frommodulenameimportname1[,name2,…,nameN
其中,modulename表示导入的模块名称,区分大小写,需要与定义模块时设置的模块名称的大小写保持完全一致;name1,name2,…,nameN表示要导入的变量、函数名称。可以同时导入多个变量和函数,各个对象使用逗号“,”分隔。
【注意】使用from…import语句导入模块中的变量和函数时,要保证所导入变量、函数的名称在当前的命名空间中是唯一的,否则会产生命名冲突,后导入的变量、函数会覆盖先导入的同名变量、函数。
3.使用from…import*语句导入模块中的所有对象
还有一种方法,可以一次性把一个模块中的所有函数、变量名称都导入当前模块的符号表中,其基本语法格式如下:
frommodulenameimport*
执行上述语句将把一个模块中所有的函数、变量名称都导入当前模块,但是那些以单一下划线(_)开头的变量(局部变量)名称不在此列。该语句提供了一个简单的方法来导入一个模块中的所有对象,但通常并不建议使用这种方法来导入模块,因为这种方法经常会导致代码的可读性降低,并且这样导入的其他模块的对象有可能会覆盖本模块中已有的定义的对象。