包括以下几方面内容:模块化程序设计思想,模块的导入与创建,模块的搜索路径,包及模块的打包发布。
模块对应于Python源代码文件
多个功能相似的模块可以组织成一个包。
➢ Python中的模块包括系统模块、第三方模块和用户自定义模块。它们实质上是以.py为扩展名的Python文件
➢ 通过导入模块,可以使用该模块中的变量、函数和类等。
01 模块化程序设计思想
模块的API(Application Programming Interface)
• 模块化程序设计的基本原则是先设计API(即模块提供的函数或类的功能 描述),然后实现API(即编写程序,实现模块函数或类),最后在客户 端中导入并使用这些函数或类;
• 通过内置函数help(),可以查看Python模块的API;
• 【例】通过内置函数help()查看math模块的API
>>> import math
>>> help(math)
• 通过Python在线帮助查看math模块的API
API设计
- API定义客户端和实现之间的契约。API是一个明确的规范,规定“实现” 的具体功能是什么
- API通常由两部分组成:可用函数的签名的精确规范,以及描述函数作用的非正式自然语言描述。API一般使用表格的形式,描述模块中的变量、函数和类
- 当编写一个新模块时,建议先设计API,然后实现模块
02 模块的导入与创建
模块导入方式(import)
模块导入(import)
模块导入(from 模块名 import 方法/类/对象)
>>> from random inport randint
>>> randint(1,10)
2
>>> from random import randint,random
>>> randint(1,10)
10
>>> random()
0.91554681635314
>>> from random import *
>>> randint(1,10)
4
>>> random()
0.65845722646161
>>> randrange(0,10,2)
2
创建模块
- Python模块对应于包含Python代码的源文件(其扩展 名为.py),在文件中可以定义变量、函数和类;
- 在模块中,除了可以定义变量、函数和类之外,还可 以包含一般的语句,称之为主块(全局语句)。当运 行该模块,或导入该模块时,主块语句将依次执行。
Python文件中的每个文件都可以做为一个模块存在,文
件名即模块名。
import os
os.getcwd() #查看当前路径
os.chdir('E:\\my_modules') #修改当前路径
import sys
sys.path #查看搜索路径
import my_module
help(my_module)
>>> my_module.special_add(3,5)
108
>>> my_module.pipi
9.999
from my_module import *
special_add(6,12)
118
pipi
9.999
03 模块的搜索路径
>>> import sys
>>> sys.path
['',
'C:\\Users\\yaoqh',
'D:\\ANCO\\python37.zip',
'D:\\ANCO\\DLLs',
'D:\\ANCO\\lib',
'D:\\ANCO',
'D:\\ANCO\\lib\\site-packages',
'D:\\ANCO\\lib\\site-packages\\win32',
'D:\\ANCO\\lib\\site-packages\\win32\\lib',
'D:\\ANCO\\lib\\site-packages\\Pythonwin',
'D:\\ANCO\\lib\\site-packages\\IPython\\extensions',
'C:\\Users\\yaoqh\\.ipython']
sys.path的本质是列表,因此用户可通过列表的内置方法append动态的向sys.path中添加 模块所在路径。
>>> sys.path.append(r'C:\Users\yaoqh\Desktop')
模块的导入顺序
• 导入模块时,解释器按下列目录搜索路径和文件搜索顺序 查找并导入文件。目录搜索路径为:
• (1)当前目录。启动交互式Python的目录,或Python主 程序位于的目录。
• (2)操作系统环境变量PYTHONPATH中指定的目录。 • (3)Python标准库目录
04 包及模块的打包发布
编辑setup.py脚本文件,setup.py文件中包含的内容如下:
from distutils.core import setup
setup(
name='yqh',
version='1.0',
auther='yqh',
py_modules=['yqh'],
)
在当前路径下打开命令行窗口(按住shift右击打开powershell窗口),使用build命令构建模块,示例如下:
.\ setup.py build
再通过sdist命令建立存放文件,示例如下:
.\setup.py sdist
可在dist文件夹下找到创建的包