python模块

一、什么是模块

模块,简单而言,就是别人写好的py文件,我们只需要引入这个模块,就可以使用。

 

二、模块的引入

同其他语言一样,我们使用import关键字来引入模块。语法格式为: import 模块名 

需要引入多个模块时,也可以这样写:import 模块名1,模块名2..

注意:import 语句必须出现在文件最开始的地方

 

三、引入模块时做了哪些事情?

1、执行模块.py文件

2、引入函数名、变量名

(一般情况下,在模块中一般只定义函数而不执行函数,当然也会可以定义变量)

 

 

四、调用模块中的属性和方法

语法格式为:模块名.函数名

为什么要采用这种方式呢?假设这样一种情况,我们同时引入两个不同的模块A,B(包的名字不同),但是他们有一个相同名字的方法F,我们需要调用的是A中的方法F而不是B中的方法F,如果只是采用F函数名的方式调用的话,则会出现歧义。因此,使用模块名.函数名的方式,能进行区分。

有时侯,我们只需要模块中的某个函数,只需要引入该函数即可,我们可以采用以下语句:from 模块名 import 函数名1,函数名2..

使用 from 模块名  import *可以引入该模块中所有的方法,但是不推荐。

 

五、__name__变量

1.如果模块是被导入,__name__的值是模块名

2.如果模块是被直接执行,__name__的值是"__main__"

 

#这个是test.py里面的代码

def playLOL():
    print("铁骨铮铮王靖泽");

print(__name__);
if __name__=="__main__":
    playLOL()

 

#这个是执行文件里的代码
import test;
def listenMusic():
    print("这歌真好听");

print(__name__)
if __name__=="__main__":
    test.playLOL();
    listenMusic();


执行结果为:
test
__main__
铁骨铮铮王靖泽
这歌真好听

通过这个特性可以在if语句里面添加测试代码,可以减少bug,提高程序的健壮性。

 

六、动态导入模块

 

为什么要使用动态导入模块?

1.import不能接受变量。

2.import只能导入已经安装的模块,如果导入的模块未安装则报错

 

动态导入模块的方式:

1.动态导入一个模块可以使用__import__()函数。

__import__()函数需要接收一个字符串参数。

os=__import__("os");
re=__import__("re")

2.动态导入一个模块列表

moduleNames=["sys","requests","re","os"]
modules=map(__import__(),moduleNames)

 

posted @ 2018-06-16 17:30  南邪  阅读(115)  评论(0编辑  收藏  举报