位置: 编程技术 - 正文

Python中__init__.py文件的作用详解(python中__init__)

编辑:rootadmin

推荐整理分享Python中__init__.py文件的作用详解(python中__init__),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:__init__.py在python中的用法,python ind,python __init__ py,python ind,python里面__init__.py,python __init__ py,python __init__ py,python __init__ py,内容如对您有帮助,希望把文章链接给更多的朋友!

__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

注意这里访问__init__.py文件中的引用文件,需要加上包名。

__init__.py中还有一个重要的变量,__all__, 它用来将模块全部导入。

这时就会把注册在__init__.py文件中__all__列表中的模块和包导入到当前文件中来。

可以了解到,__init__.py主要控制包的导入行为。要想清楚理解__init__.py文件的作用,还需要详细了解一下import语句引用机制:

可以被import语句导入的对象是以下类型:

&#;模块文件(.py文件)

&#;C或C++扩展(已编译为共享库或DLL文件)

&#;包(包含多个模块)

&#;内建模块(使用C编写并已链接到Python解释器中)

当导入模块时,解释器按照sys.path列表中的目录顺序来查找导入文件。

其中list第一个元素空字符串代表当前目录。

Python中__init__.py文件的作用详解(python中__init__)

关于.pyc 文件 与 .pyo 文件

.py文件的汇编,只有在import语句执行时进行,当.py文件第一次被导入时,它会被汇编为字节代码,并将字节码写入同名的.pyc文件中。后来每次导入操作都会直接执行.pyc 文件(当.py文件的修改时间发生改变,这样会生成新的.pyc文件),在解释器使用-O选项时,将使用同名的.pyo文件,这个文件去掉了断言(assert)、断行号以及其他调试信息,体积更小,运行更快。(使用-OO选项,生成的.pyo文件会忽略文档信息)

导入模块

模块通常为单独的.py文件,可以用import直接引用,可以作为模块的文件类型有.py、.pyo、.pyc、.pyd、.so、.dll

在导入模块时,解释器做以下工作:

1.已导入模块的名称创建新的命名空间,通过该命名空间就可以访问导入模块的属性和方法。

2.在新创建的命名空间中执行源代码文件。

3.创建一个名为源代码文件的对象,该对象引用模块的名字空间,这样就可以通过这个对象访问模块中的函数及变量

import 语句可以在程序的任何位置使用,你可以在程序中多次导入同一个模块,但模块中的代码仅仅在该模块被首次导入时执行。后面的import语句只是简单的创建一个到模块名字空间的引用而已。

sys.modules字典中保存着所有被导入模块的模块名到模块对象的映射。

导入包

多个相关联的模块组成一个包,以便于维护和使用,同时能有限的避免命名空间的冲突。一般来说,包的结构可以是这样的:

有以下几种导入方式:

以上所述是小编给大家介绍的Python中__init__.py文件的作用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Python实现网络端口转发和重定向的方法 本文实例讲述了Python实现网络端口转发和重定向的方法。分享给大家供大家参考,具体如下:【任务】需要将某个网络端口转发到另一个主机(forwarding

Python自定义主从分布式架构实例分析 本文实例讲述了Python自定义主从分布式架构。分享给大家供大家参考,具体如下:环境:Win7x,Python2.7,APScheduler2.1.2。原理图如下:代码部分:(1)

Python操作Access数据库基本步骤分析 本文实例分析了Python操作Access数据库基本步骤。分享给大家供大家参考,具体如下:Python编程语言的出现,带给开发人员非常大的好处。我们可以利用

标签: python中__init__

本文链接地址:https://www.jiuchutong.com/biancheng/384453.html 转载请保留说明!

上一篇:Python简单遍历字典及删除元素的方法(遍历字符串python)

下一篇:Python实现网络端口转发和重定向的方法(python 网络应用)

  • 购买车辆保险的报告
  • 个人所得税减除费用5000是什么意思
  • 税收保全措施适用于
  • 贴现怎么计算公式
  • 计提税金及附加会计分录
  • 月末计提无形资产的折旧
  • 银行转账支付凭证有效期多久
  • 装修行业开票税率
  • 小规模纳税人专票和普票区别
  • 对公走账是什么意思
  • 企业的财务报表
  • 政府补贴流程
  • 电子申报率较差的原因
  • 退休返聘人员工资
  • 应纳税调增调减会计分录
  • 公司将固定资产卖出,要交什么税
  • 应交城市维护建设税分录怎么做
  • 母子公司之间转让土地使用权
  • 餐饮发票税钱
  • 如何确定增值税以旧换新方式下销售货物的销售额
  • 汇总纳税总机构企业所得税分摊比例备案
  • 个人缴纳的住房公积金可以提现吗
  • 企业未代扣代缴个税
  • 银行承兑贴现到哪里去了
  • 科研机构进口直接用于科学研究的仪器免征增值税吗
  • vue使用方法
  • won10搜索框
  • 资金拆借需防范哪些风险
  • 微信公众号 h5 保存openid
  • phpstorm ftp
  • babylon.exe进程有什么作用 babylon进程是什么文件
  • 固定资产转卖怎么开票
  • 金银首饰零售业必须为一般纳税人吗
  • 应付票据核算的票据包括
  • ant design pro项目构建纯净版
  • php获取并显示用户的用户名
  • vue使用scss报错
  • 广东高速公路过路费官网
  • 应收账款收不回来的情况说明
  • 凭证过账后发现了错误,如何处理
  • 企业所得税申报表资产总额怎么填
  • mongodb运行
  • 帝国cms批量excel导入文章
  • 增值税税款抵扣
  • 小规模纳税人季度不超30万免增值税
  • 营改增后的计税方式
  • 党组织工作经费税前扣除
  • java连接mysql数据库
  • 未开票收入确认错属期滞纳金怎么办
  • 罚款属于应付账款吗
  • 民办非企业单位工会经费
  • 工商年报纳税总额包括个人所得税吗
  • 装修室内设计效果图
  • 财务制度设置
  • 农业种植账务处理方法
  • 无偿划拨土地需要提折旧吗
  • 进料料件复出可以给第三方吗
  • 运输费计入什么科目里面
  • 货物出去没有出口报关可以补吗
  • 建账前应考虑什么问题
  • 新准则委托代建会计处理
  • win10一年更新一次
  • ie10和ie11
  • ubuntu 改名
  • mac uuid查询
  • win10系统找不到mrt
  • ubuntu怎么播放视频
  • windowsxp开机加载页面不动
  • win10家庭版免费升级专业版密钥
  • linux怎么设置桌面
  • js脚本使用
  • python 读取数据库
  • js的点击事件怎么做
  • 10个JavaScript中易犯小错误
  • 对xmlHttp对象方法和属性的理解
  • python接口编写
  • android下的单元测试要配置以下说法不正确的是
  • javascript数据结构与算法
  • js读取文件大小
  • 新旧鞋号码对比图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设