python第十一节模块化编程

一、模块化结构

python程序由模块组成,一个模块对应python源文件,一般后缀名是:.py

模块化编程优势:

1、便于将一个任务分解成多个模块,实现团队协同开发,完成大规模程序开发

2、实现代码复用。一个模块实现后,可以被反复调用。

3、可维护性增强

二、模块化编程的一般流程:

  1、设计API,进行功能描述

2、编码实现API中描述的功能

3、在模块中编程测试代码,并消除全局代码。

4、使用私有函数实现不背外部客户端调用的模块函数。

三、模块的导入

import语句的基本语法格式如下:

import模块名

import 模块1,模块2

import 模块 as 模块别名

import加载的模块分为四个通用类别:

a.使用python编写的代码(.py)

b.已被编译为共享库或者DLL的C或者C++扩展

c.包好一组模块的包

d.使用C编写并链接到python解释器的内置模块

四、__import__()动态导入

import语句本质上就是调用内置函数__import_(),我们可以通过它实现动态导入。给__import__()动态传递不同的参数值,就能导入不同的模块。

示例:

s = "math"

m = __import__(s)#导入后生成的模块对象的引用给变量m

不太推荐使用

五、包(package)的概念和结构

当一个项目中有很多个模块时,需要再进行组织。功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有__init__.py的文件夹。典型结构如下:

包下面可以包含““模块(module)”也可以包含“子包(package)”就像文件夹下面可以有文件。也可以有子文件夹一样

导入module.py

方式如下:

1、import a.aa.module_AA

2、from a.aa.import module_aa

3、 from a.aa.module_AA import fun_AA直接导入函数

__init__.py的三个核心作用:

1、作为包的标识,不能删除。

2、用来实现模糊导入

3、导入包实质是执行__init__.py文件,可以在__init__.py文件中做这个包的初始化,以及需要统一执行代码。已经。

尽量少写import *

六、包的引用

from ..import module_A #..表示上级目录, .表示同级目录

from .import module_A2 #.表示同级目录

七、sys.path和模块搜索路径

当我们导入某个模块文件时,python解释器去哪里找这个文件呢?只有找到这个文件才能读取、装载运行该模块文件。它一般按照如下路径寻找模块文件(按照顺序寻找,找到即停不继续往下寻找):

1、内置模块

2、当前目录

3、程序的主目录

4、pythonpath目录(如果已经设置了)

5、标准链接库目录

6、第三方库目录(site-packages目录)

7、.pth文件的内容(如果存在的话)

8、sys.path.append()临时添加的目录

当任何一个python程序启动时,就将上面这些搜索路径(除内置模块以外的路径进行收集放到ys)模块的path属性中(sys.path)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值