python_(程序结构)

本文详细介绍了Python中模块和包的概念,包括它们的定义、作用、导入方式及使用技巧。探讨了模块变量如__all__、__doc__、__file__、__name__的作用,以及包的结构和初始化文件init.py的重要性。通过具体案例展示了如何在不同模块间调用方法,阐述了Python搜索模块的顺序。

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

模块 Module
定义
包含一系列数据、函数、类的文件,通常以.py结尾。
作用
让一些相关的数据,函数,类有逻辑的组织在一起,使逻辑结构更加清晰。
有利于多人合作开发。
导入
import
1. 语法:
import 模块名
import 模块名 as 别名
2. 作用:将某模块整体导入到当前模块中
3. 使用:模块名.成员
from import
1. 语法:
from 模块名 import 成员名[ as 别名1]
2. 作用:将模块内的一个或多个成员导入到当前模块的作用域中。
3. 使用:直接使用成员名
from import *
1. 语法:from 模块名 import *
2. 作用:将某模块的所有成员导入到当前模块。
3. 模块中以下划线(_)开头的属性,不会被导入,通常称这些成员为隐藏成员。
模块变量
__all__变量:定义可导出成员,仅对from xx import *语句有效。
__doc__变量:文档字符串。
__file__变量:模块对应的文件路径名。
__name__变量:模块自身名字,可以判断是否为主模块。
当此模块作为主模块(第一个运行的模块)运行时,__name__绑定’main’,不是主模块,而是被其它模块导入时,存储模块名。
加载过程
在模块导入时,模块的所有语句会执行。
如果一个模块已经导入,则再次导入时不会重新执行模块内的语句。
分类
1. 内置模块(builtins),在解析器的内部可以直接使用。
2. 标准库模块,安装Python时已安装且可直接使用。
3. 第三方模块(通常为开源),需要自己安装。
4. 用户自己编写的模块(可以作为其他人的第三方模块)
包package
定义
将模块以文件夹的形式进行分组管理。
作用
让一些相关的模块组织在一起,使逻辑结构更加清晰。
导入
import 包名.模块名 [as 模块新名]
import 包名.子包名.模块名 [as 模块新名]

from 包名 import 模块名 [as 模块新名]
from 包名.子包名 import 模块名 [as 模块新名]
from 包名.子包名.模块名 import 成员名 [as 属性新名]

导入包内的所有子包和模块

from 包名 import *
from 包名.模块名 import *
init.py 文件
是包内必须存在的文件
会在包加载时被自动调用
all
记录from 包 import * 语句需要导入的模块
案例:
1. 根据下列结构,创建包与模块。
my_ project /
main.py
common/
init.py
list_helper.py
skill_system/
init.py
skill_deployer.py
skill_manager.py
2. 在main.py中调用skill_manager.py中实例方法。
3. 在skill_manager.py中调用skill_deployer.py中实例方法。
4. 在skill_deployer.py中调用list_helper.py中类方法。
搜索顺序
内置模块
sys.path 提供的路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值