如何理解包的概念和结构,pycharm中怎样创建包
Admin 2022-11-22 群英技术资讯 260 次浏览
包的概念和结构
当一个项目有多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了‘包’。‘包’本质上就是必须有__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基于双向链表实现LFU算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了python中input()的用法及扩展,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了pytorch 实现打印网络回传梯度的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要为大家介绍了python四则运算表达式求值示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了Python 实现多表和工作簿合并及一表按列拆分,文章围绕主题展开详细的资料介绍,具有一定的参考价值,需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008