python模块

Posted 北妖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 










以上是关于python模块的主要内容,如果未能解决你的问题,请参考以下文章

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

python之模块和包

python中的模块

Python 常用模块学习

python之模块和包

Python 八Python模块