python模块基础

1 python模块基础

python模块对应python程序文件,每个python文件都是一个模块。

模块a.py导入模块b.py后,在a.py可以使用使用b.py的全部变量。

1.1 python程序组成

python程序通常包括顶层主体文件、模块文件、标准库文件。

顶层主体文件通常是程序运行入口,会导入模块文件,模块文件导入标准库文件。

在这里插入图片描述

如上图,main.py为顶层主体文件,程序从此文件开始运行。

main文件导入mod1.py模块文件,使用里面的模块属性。

mod1.py模块文件导入mod2.py和标准库模块文件。

标准库模块文件为python自带模块文件。

1.2 python导入模块

python导入模块在程序运行时执行。

python首次导入模块,会执行三个步骤:

步骤步骤名称步骤描述
1搜索通过模块搜索路径找到模块文件
2按需编译首次导入需要编译,生成.pyc文件。若.pyc文件时间戳小于.py文件,则进行编译。只有.pyc则直接加载,不进行编译。
3运行从上到下执行模块代码,创建模块定义的对象。

python将导入的模块存储到sys.modules字典中,

每次导入模块时检查sys.modules是否存要导入的模块,

若存在,则不再导入(跳过首次导入模块的3个步骤),直接从内存获取模块,

若不存在,则执行首次导入模块的3个步骤。

注:导入模块后,模块文件被更新,通过reload导入最新模块文件。

1.3 python模块搜索路径

python通过模块搜索路径找到模块文件进行导入。

按下面顺序搜索模块搜索路径,这4个路径组成sys.path:

顺序路径
1程序主目录
2PYTHONPATH目录(若有),用于路径拓展
3标准库目录
4.pth文件(若有),用于路径拓展

1.4 python模块路径sys.path

python的模块搜索路径保存在sys.path列表。

手动添加到sys.path列表的路径,在程序结束后,将不会再生性。

1.5 python模块避免重名

模块搜索路径存在重名模块时,导入的模块存在不确定性,所以pthon模块应该避免重名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值