模块化执行空间

本文介绍了Python的模块化执行空间,包括sys.modules用于管理已加载的模块,sys.path负责模块的搜索顺序。同时,讨论了模块导入时可能出现的冲突问题,例如模块1被模块3加载,而模块2又加载了模块3,在模块2内部只能直接访问模块3,但可通过模块3间接访问模块1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模块化执行空间

不同的模块就相当于不同的车间,不同的车间功能不一样,当想让车间工作,你必须将原材料送人车间,计算机模块就相当于车间,当调用车间得某个车床时将要处理得数据送人车间交给特定得车程,而且依然在特定得车间和车床上工作。

sys.modules管理已加载的模块

所有已加载进来的模块用此方法管理

sys.path管理模块搜索顺序

模块搜索顺序如下:

import sys
print(sys.path)
for x in sys.path:
    print(x)
运行结果:
['D:\\PycharmProjects\\untitled1\\5moth\\512', 'D:\\PycharmProjects\\untitled1', 'D:\\PycharmProjects\\untitled1\\venv\\Scripts\\python35.zip', 
'C:\\Users\\76774\\AppData\\Local\\Programs\\Python\\Python35\\DLLs', 'C:\\Users\\76774\\AppData\\Local\\Programs\\Python\\Python35\\lib'
, 'C:\\Users\\76774\\AppData\\Local\\Programs\\Python\\Python35', 'D:\\PycharmProjects\\untitled1\\venv', 
'D:\\PycharmProjects\\untitled1\\venv\\lib\\site-packages', 'D:\\PycharmProjects\\untitled1\\venv\\lib\\site-packages\\setuptools-28.8.0-py3.5.egg',
 'D:\\PycharmProjects\\untitled1\\venv\\lib\\site-packages\\pip-9.0.1-py3.5.egg']


D:\PycharmProjects\untitled1\5moth\512
D:\PycharmProjects\untitled1
D:\PycharmProjects\untitled1\venv\Scripts\python35.zip
C:\Users\76774\AppData\Local\Programs\Python\Python35\DLLs
C:\Users\76774\AppData\Local\Programs\Python\Python35\lib
C:\Users\76774\AppData\Local\Programs\Python\Python35
D:\PycharmProjects\untitled1\venv
D:\PycharmProjects\untitled1\venv\lib\site-packages
D:\PycharmProjects\untitled1\venv\lib\site-packages\setuptools-28.8.0-py3.5.egg
D:\PycharmProjects\untitled1\venv\lib\site-packages\pip-9.0.1-py3.5.egg

模块导入及冲突

模块1 模块2 模块3
模块3加载了模块1
模块2加载了模块3
在模块2中只能看到模块3,看不到模块1,但是可以访问到模块1
访问:模块3.模块1.method

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值