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文件

相关推荐
2301_765703141 分钟前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
浒畔居3 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
有一个好名字11 分钟前
力扣-省份数量
python·算法·leetcode
爱学习的阿磊15 分钟前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python
喵手19 分钟前
Python爬虫实战:论坛社区数据采集实战:从主题列表到分页回帖爬取(附CSV导出 + SQLite持久化存储)!
爬虫·python·sqlite·爬虫实战·零基础python爬虫教学·论坛社区数据采集·csv采集数据导出
工程师老罗25 分钟前
PyTorch transforms的用法
人工智能·pytorch·python
2401_8414956425 分钟前
【强化学习】REINFORCE 算法
人工智能·python·算法·强化学习·reinforce·策略梯度·蒙特卡洛
喵手33 分钟前
Python爬虫实战:构建企业级的招投标信息监控工具,多页动态数据抓取,实现去重增量更新(附SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·sqlite持久化存储·采集招投标信息·多页动态数据抓取
虎头金猫1 小时前
内网导航站 “出圈”!用 cpolar 解锁 Dashy 远程访问新玩法
java·c++·python·程序人生·职场和发展·php·程序员创富
yufuu981 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python