#################模块与包######################


一 模块


  1. 什么是模块?


在 Python 中,所有以.py结尾的文件就称之为一个模块(Module)。

大大提高了代码的可维护性;

编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用;

示例:

在python中建立一个mun.py文件,再在mokuai.py中调用他

截图:两个

模块与包_模块和包

模块与包_模块和包_02


2.导入模块的几种方式:

(1)调用模块时用import mun

调用方式:直接导入mun模块,

使用方法:print mun.jian(10,4)

截图:

模块与包_模块和包_03


(2)from mun import add

调用方式:导入mun模块中的add方法,

使用方法:print add(2,5)

截图:

     

模块与包_模块和包_04

(3)from mun import add as myadd

调用方式:如果当前py代码包含add方法,但仍想使用mun模块中的add方法,可以对函数进行重命名。

使用方法:print myadd(4,3)

截图:

模块与包_模块和包_05

3.导入模块的灵活应用


(1)导入多个模块

from cacl import jian,add


4.路径搜索和搜索路径

前者强调搜索这个动作,后者强调搜索的路径


5.添加一路径,让路径搜索时导入相应的自定义模块

import sys

print sys.path

sys.path.append('')  ###在最后加

sys.path.insert(0,'')  ###在任意地方加



模块与包_模块和包_06

模块与包_模块和包_07

模块与包_模块和包_08

6.模块的分类;


1. 内置模块(os,sys,dnspython,socket,time,excel)

2. 开源模块(BeautifulSoup,flask,django , css,html,bootstrap,node.js)

3. 自定义模块




7.包

如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python 又引入了按目录来组织模块的方法,称为包(Package)包


(1)创建包的步骤:

创建一目录为包名;

在该文件夹下创建__init__.py文件存放包的信息,该文件可以为空;

根据需要存放脚本文件,已编译的扩展及子包;

可以用import,import as,from import等语句导入模块和包;

模块与包_模块和包_09


8.作用域

在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在 Python 中,是通过 _ 前缀来实现。比如__author__ , __name__就是特殊变量的,__func__,__fun为私有函数,不能直接引用。


9.安装第三方模块

- 需要联网 ;

- 通过 setuptools 这个工具完成;

- pip install 包名 或 pycharm中安装;模块搜索路径

- 当我们试图加载一个模块时,Python 会在指定的路径下搜索对应的.py 文件;

- 默认情况下,Python 解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在 sys 模块的 path 变量中;