如何理解包的概念和结构,pycharm中怎样创建包
Admin 2022-11-22 群英技术资讯 834 次浏览
关于“如何理解包的概念和结构,pycharm中怎样创建包”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。包的概念和结构
当一个项目有多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了‘包’。‘包’本质上就是必须有__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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍pytorch中常用损失函数以及用法,对新手学习pytorch中损失函数有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
这篇文章给大家分享的是有关使用python写一个文件名批量重命名脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,感兴趣的朋友就一起跟随小编看看吧。
大家好,本篇文章主要讲的是Python各种类型装饰器详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
Python非常简单而又非常强大,它的功能之一就是画出漂亮的图表,实现数据的可视化,下面这篇文章主要给大家介绍了关于Python直接使用plot()函数画图的相关资料,需要的朋友可以参考下
这篇文章主要介绍Matplotlib绘制子图的方式,常用的方式有通过plt的subplot、通过figure的add_subplot和通过plt的subplots,下面我们就来看看怎样绘制子图吧,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008