Python知识点17---包

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

Python的包,你可以把它看成是一个大的模块,它的本质是一个文件夹,所有有联系的模块都可以单独打成一个包,且在包生成的时候,包中会生成一个名字叫__init__.py的文件,这个文件规定了其他模块导入这个包时的导入行为

那么如何建立包呢?你如果使用的是PyCharm,你可以根据下面的步骤进行创建

1、在项目空白处,右键单击new--》Python Package

2、输入名字

3、点击OK之后,创建成功,并自动生成__init__文件


之后你就可以在包下如往常一样写代码了,当你要在其他模块中导入这个包中的模块的时候有两种方式

方式一:

python 复制代码
import 包名.模块名

#使用的时候要注意如果没起别名你要带上包名的
包名.模块名.功能名

方式二:

方式二就要用到之前的__init__.py文件了,我们需要在这个文件中定义__all__列表,不知道这个列表干什么的,可以去看一下知识点16

python 复制代码
from 包名 import *

#这种方法你就可以不写包名了
模块名.功能名

其实第二种方式,我是为了强调init文件的用处,你如果不用星号导入,那就用不着改init文件

相关推荐
雪碧聊技术21 分钟前
安装Python(保姆级教程)
python·版本更新·python下载
张龙6873 小时前
uv 全面指南:比 pip 快 100 倍的 Python 包管理器,从安装到团队落地
后端·python
@HNUSTer3 小时前
Python数据可视化科技图表绘制系列教程(八)
python·数据可视化·科技论文·专业制图·科研图表
专注仿真4 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
满怀冰雪5 小时前
22-使用 PaddleClas 快速训练图像分类模型
人工智能·python·机器学习·分类·数据挖掘·paddlepaddle
gb42152875 小时前
python中Web应用服务器
开发语言·前端·python
reasonsummer6 小时前
【办公类-109-12】20260901圆形挂牌(模版重制:文本框圆形重叠_word编辑单面_接送卡&被子卡&床卡&入园卡)
python·word
名明鸣冥6 小时前
k8s-agent架构思考(一)
python
DoLovya7 小时前
从零实现 ESP8266 + MQTT 智能门禁:公网一键开门、舵机控制、在线监控完整方案
python·物联网·mqtt·嵌入式·esp8266·门禁系统
AI情绪识别开源7 小时前
检信ALLEMOTION VibrationAI 2.4.0 12维度情绪识别开源源代码
开发语言·python