2020-11-13 Python模块与包(简略版)

一、模块化编程

模块程序设计理念

程序持续复杂化,函数和类更加多了,模块诞生了,模块的叠加使用产生了包。

标准库模块:random,math,time

为什么需要模块化编程,模块便于后期的重复使用。

优势

  • 便于分解任务

  • 代码的复用

  • 可维护性强

模块化编程的流程

  • 设计API,进行功能描述

  • 编码实现功能

  • 编写测试代码

  • 使用私有函数实现不被外部客户端调用的模块函数

API 使用来描述模块中提供函数和类的功能描述和使用方式描述。

模块导入import

import 模块名,可叠加

from … import

导入的本质是对象

import 导入的是模块,from import 导入的是一个函数或者一个类。

import加载底层原理

动态导入可以使用importlib

一个模块无论导入多少次,在整个解释器进程内有且仅有一次实例对象。

包的概念

当一个项目中有很多个模块时,用包去封装,类似于文件夹。

导入包

import 包名

from 包 import 模块

导入包的本质是导入了包的__init__.py文件。

三、_sys.path 和模块搜索路径

寻找顺序

  • 内置模块

  • 当前目录

  • 程序的主目录

  • pythonpath 目录

  • 标准三方库

  • .pth文件内容

  • sys.path.append() 临时添加目录

#测试sys.path
import sys
print(sys.path)

可以在环境变量中设置

.pth文件的写法

在site-package目录下添加.pth文件,并在文件中填写内容。

模块的本地发布

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值