1、什么是模块
模块就是一个.py的文件
2、为什么要使用模块?
最开始的程序(没有任何组织)----> 函数------>类----->模块------>包 为了让程序的组织结构更加灵活清晰,降低耦合性、方便管理;
3、如何使用模块
1、import:只能导入在当前目录、和内置的模块,使用模块里的内容需要 模块.来调用;
2、from...import:可以导入不是同级目录的模块,导入模块之后,可以直接调用模块里的内容;
3、导入模块做的3件事情
#导入模块第一件事情 创建名称空间,用来存放模块文件中定义的名字
#第二件事情基于刚刚创建的名称空间,找执行一遍模块文件里的内容
#第三件事情spm.操作名称空间模块里的内容
4、模块的搜素路径
总结模块的查找顺序是:内存中已经加载的模块--------->内置模块------------>sys.path路径中包含的模块(sys.path包含当前目录)
二、包
1、什么是包?
包是一种通过使用‘.模块名’来组织python模块名称空间的方式。本质就一个包含__init__文件的目录
无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都是关于 包才有的导入语法
1 2 | from .auth.plugins.core import create,UserAuthInfo # 在 .(当前路径)auth(auth包).plugins(包).core(模块) import( create,UserAuthInfo)属性 .左边的都是包 最后一个可以是模块 |
2、使用包
import (import包名.包名.包名.最后是模块)
import glance.db.models glance.db.models.register_models('mysql')
from (包名.包名)... import ...(import后面的是模块)
from bao.bao1 import *
如果import后面不指定一个模块名,只会执行包下的__init__文件
会执行包下的__init__文件定义的__all__=[x,y.z]的内容
from glance.db import models models.register_models('mysql') from glance.db.models import register_models register_models('mysql')
3、包里的__init__.py文件
#在其他模块 导入import keystone包的时候,会首先执行keystone包下的__init__文件。
# 如果在__init__文件导入了auth.(包)plugins.(包)core(模块) import create,UserAuthInfo(方法)
# 那么 import keystone 就可以直接执行 keystone子包下的 模块和模块里的方法了
4、绝对导入和相对导入
绝对导入:以glance 作为起始
相对导入:用.或者..的方式最为起始(只能在一个包中使用,不能用于不同目录内)
在glance/api/version.py #绝对导入 from glance.cmd import manage manage.main() #相对导入 from ..cmd import manage manage.main()
5、单独导入
#在与glance同级的test.py中 import glance glance.cmd.manage.main() ''' 执行结果: AttributeError: module 'glance' has no attribute 'cmd' '''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南