Python模块与包

包括以下几方面内容:模块化程序设计思想,模块的导入与创建,模块的搜索路径,包及模块的打包发布。

模块对应于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文件夹下找到创建的包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值