11、python模块与包

一、模块
1、一个py文件为一个模块,模块由语句构成,模块中的语句顺序执行。
2、模块化编程的流程:2.1.进行api设计并进行功能描述,对使用的类、函数的功能和使用方式进行描述,通过对象.__doc__可以查看描述内容。2.2、编写代码实现api功能。2.3、在模块中编写测试代码。2.4、使用私有函数实现防止外部调用。当模块被其他模块导入时__name__为模块名,当模块作为程序入口运行时,__name__为‘__main__’,通这个特点可以将源代码里面的测试代码独立处理。
3、模块的导入
3.1、import 模块名 as 别名:导入整个模块,创建了一个对象,在一个线程中无论导入多少次都是同一个对象(实际上只有第一次导入了),本质上是使用内置函数__import__(模块名)创建模块对象。通过a=importlib.import_module(模块名)可实现模块的动态导入。importlib.reload(模块名)实现模块的重载
3.2、from 模块名 import 方法名/类名:导入模块中的方法或类
二、包
2.1、包是将功能相似的模块放在一起,本质上是个含有__inti__.py文件的文件夹。包里面包含模块或子包。
2.2、导入的方式有:import 包.模块、from 包 import 模块、from 包.模块 import 方法\类。import 包实际上是运行__inti__.py(导入这个模块),一般在__inti__.py写批量导入模块的代码。在__inti__.py导入模块与程序中导入模块都是使用同一模块对象。在__inti__.py可以定义__all__=[模块1,模块2,…],通过from 包 import *实现模糊导入模块。
from . import 模块 :.表示包的同级目录,from … import 模块:…表示包的父级目录。
2.3、一般按照以下顺序搜索模块:
内置模块
当前目录
当前主目录
pythonpath环境变量设置的目录
标准库目录
第三方库目录
.pth文件
sys.path.append()临时存的目录
上述目录(除内置模块)会存在sys.path下。
2.4、模块可以在本地发布也可以上传至pypi成为公共资源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值