如何理解包的概念和结构,pycharm中怎样创建包
Admin 2022-11-22 群英技术资讯 402 次浏览
包的概念和结构
当一个项目有多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了‘包’。‘包’本质上就是必须有__init_
_.py的文件夹。
包下面可以包含‘模块(module)’,也可以包含‘子包(subpackage)’。就像文件夹下面可以有文件,也可以有子文件夹
一样。
pycharm中创建包
在pycharm开发环境中创建包,非常简单。在要创建包的地方单击右键:NEW--》python package即可,pycharm会自
动帮助我们生成带有__init__.py文件的包。
导入包操作和本质
例a\aa\module_AA.py
·import a.aa.module_AA
在使用时,必须加完整的名称来引用
·from a.aa import module AA
在使用时,直接可以使用模块名
·from a.aa.module_AA import fun_AA
在使用时,直接可以使用函数名
注:
·from package import item 这种语法中,item可以是包,模块,也可以是函数,类,变量
·import item1.item2 这种语法中,item必须是包或者模块,不能是其他。
导入包的本质其实是导入包的__init__.py文件。也就是说,‘import pack1’意味着执行了包pack1下面的__init__.py文件,
这样可以在__init__.py文件中批量导入我们需要的模块,而不再需要一个个导入。
__init__.py的三个核心作用:
·作为包的标识,不能删除。
·用来实现模糊导入。
·导入包实质是执行__init__.py文件,可以在__init__.py文件中做这个包的初始化、以及需要统一执行代码,以及批量
导入。
用*导入包
import*这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们。这可能会花长时间等。python解决
方案是提供一个明确的包索引。
这个索引由__init__.py定义,__all__变量,该变量为一个列表,如上例a包下的__init__.py中,可定义__all__=['module_A
', 'module_A2']
这意味着,from sound.effects import * 会从对应的包中导入以上连个子模块;
【注】尽管提供import * 的方法, 仍不建议在生产中使用这种写法
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python中的schedule模块可以使我们方便简单的使用定时任务,即在特定的时间自动的执行一些任务的功能,本文将用这一模块实现邮件自动发送,需要的可以参考一下
本篇文章将介绍如何用openpyxl操作excel,它支持格式的表格文件,并且支持 Numpy、Pandas 等包,可用于绘制图表
这篇文章主要介绍了Pytorch中的Tensorboard与Transforms搭配使用,主要是结合了前两篇文章的的一个小练习,感兴趣的小伙伴可以来练习一下,希望对你的学习有所帮助
tfrecord是tensorflow中常用的数据打包格式,这篇文章给大家介绍的就是关于tfrecord文件的生成和读取,本文有具体以及步骤,具有的一定的参考价值,需要的朋友可以参考学习。
这篇文章主要介绍了基于Python实现的购物商城管理系统,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008