python学习笔记分享(三十一)模块

IT Xiao Ang Zai 8月19号

python学习笔记分享(三十一)模块

版本:python3.64

编程软件:pycharm

 

一:模块的实质

模块就是程序,是更高级的封装,就是平时写的代码。保存的每一个.py结尾的文件,都是一个独立的模块。

 

二:导入模块

1.在IDLE中,为了可以找到这个模块,需要把文件放在python的安装目录下。

2.在pycharm中,在File->Settings,在加加号处导入即可。

3.安装模块一般在cmd中用pip install 模块名安装。

4.每一个模块可能和其他模块有相同的方法,这时候就需要用到命名空间了,它表示标识符的可见范围。

5.下面是一些导入模块的方法:

(1)import 模块名

直接导入,但是调用模块中的函数的时候,需要加上它的命名空间。

(2)from 模块名 import 函数名

直接将模块的命名空间覆盖进来,在调用的时候就不需要再加上命名空间了。

还可以使用通配符星号(*)来导入模块中所有的命名空间。

(3)import 模块名 as 新名字

给命名空间替换一个新名字,尽量使用该方法。

 

三:__name__=='__main__'

该语句是让python知道该模块是作为程序运行还是导入到其他程序中。

在作为程序运行的时候,__name__属性的值是'__main__',而作为模块导入的时候,属性的值就是模块的名字了。

 

四:搜索路径

python模块的导入需要一个路径搜索的过程,导入一个模块,python会在预定义好的搜索路径中寻找一个该模块。如果有,则导入模块,如果没有,则导入失败。这个搜索路径,就是一组目录,可以通过sys模块中的path变量显示出来:

python学习笔记分享(三十一)模块

python学习笔记分享(三十一)模块

但是如果预定好的搜索路径没有该模块,就需要把模块所在的位置添加到搜索路径中即可。

效果如下:

python学习笔记分享(三十一)模块

python学习笔记分享(三十一)模块

 

五:包

1.包就是模块的存放的文件夹,文件夹的名字即包的名字,包就是模块层面的封装。

2.如果指定一个文件夹是包,需要建立一个__init__.py的模块,可以为空,也可以写一些初始化代码。这个是规定,用来告诉python将该目录当成一个来处理。导入包和导入模块方法相同。