__init__.py 的作用

python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。
那么,__init__.py还有什么别的功能呢?
其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。
我们可以再__init__.py文件中再导入其他的包,或者模块。
[python]
import readers 
import writers 
import commands 
import users 
import meta 
import auth 
import admin

这样,当我们导入这个包的时候,__init__.py文件自动运行。帮我们导入了这么多个模块,我们就不需要将所有的import语句写在一个文件里了,也可以减少代码量。
不需要一个个去导入module了。
__init__.py 中还有一个重要的变量,叫做 __all__。我们有时会使出一招“全部导入”,也就是这样:
from PackageName import *
这时 import 就会把注册在包 __init__.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来。比如:
#文件 __init__.py

__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]

转载于:https://www.cnblogs.com/jamshulo/p/3683580.html

python教程--__init_.py的作用相关推荐

  1. 【python】setup.py的作用

    简而言之,setup.py是python模块分发与安装的指导文件 有了setup.py文件,运行下面这条命令,可以进行模块的安装. python setup.py install 下面给出setup. ...

  2. Python中 __init__.py的作用

    我们经常在python的模块目录中会看到 __init__.py 这个文件,那么它到底有什么作用呢? 1.标识该目录是一个python的模块包(module package) 如果你是使用python ...

  3. Python杂谈: __init__.py的作用

    我们经常在python的模块目录中会看到 "__init__.py"  这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package ...

  4. Python的__init__.py文件作用

    今天在运行pytest命令的时候遇到报错,试过很多种方法,也没解决.后来才发现原来是无意中删除了__init__.py文件,python虚拟机觉得不是合法的包,导致不能识别而报错.添加之后再运行,果然 ...

  5. python教程:模块的作用与说明

    Python模块 如果你从Python解释器退出并再次进入,之前的定义(函数和变量)都会丢失.因此,如果你想编写一个稍长些的程序,最好使用文本编辑器为解释器准备输入并将该文件作为输入运行.这被称作编写 ...

  6. python中__init__.py的作用、module和package

    控制包的导入行为: 1.声明当前文件是一个可导入的包: 2.如果当下包下有多个.py文件使用__ all__ = [ '模块名'],也就是form XXX import YYY module和pack ...

  7. cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块

    好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...

  8. python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程

    python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ...   ...

  9. 简明Python教程笔记(一)

    此文为简明Python教程笔记. 第一部分 介绍 Python特点 简单.易学--伪代码本质 免费开源--FLOSS(自由/开放源码软件) 高层语言 可移植性强--支持多平台 解释性--更易移植 面向 ...

最新文章

  1. 如何使用JavaScript Math.floor生成范围内的随机整数-已解决
  2. 【 C 】关于学习 realloc 踩过的那些坑
  3. 告诉你你也学不会!中台灵感 SuperCell 的管理之道!
  4. linux怎么用jconsole_jconsole监控上Linux上的JVM
  5. 更改应用程序图标_苹果更新 TestFlight 应用图标,增加更多拟真细节
  6. 【C++】 Boost 库编译技巧总结
  7. webpack4学习之问题一
  8. 远离“数据呆” 对业务的理解和思考永远高于分析技术的选择
  9. JAVA day05 构造方法,this关键字,方法的重载,引用类型数组
  10. java if else 过多_Java利用策略模式优化过多if else代码
  11. 华为3500光端机基本介绍_华为OSN3500光端机License授权管理介绍
  12. C - Copying Books (POJ - 1505)
  13. linux 蓝牙打印机驱动安装失败,Win7蓝牙驱动安装失败的原因分析与解决方法
  14. oracle的异步备份,网络存储导论第七章:异步数据复制容灾方式
  15. java getday_Date类的getDay()和getDate()方法
  16. 定时轮播Echarts造成内存泄漏致使浏览器崩溃问题
  17. 终于搞定美团app人气榜提取的数据分类工作
  18. 计算机软件著作权一般要多久,软件著作权一般多长时间
  19. 2023年武汉理工大学能源动力(085800)考研上岸前辈备考经验指导
  20. Java里面jvr_微信小程序java解密报异常Key length not 128/192/256 bits

热门文章

  1. android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...
  2. php 去除 html 属性,用PHP 去掉所有html标签里的部分属性
  3. 异步日志系统设计demo
  4. 合约 cd 模式_CD的完整形式是什么?
  5. 定时器--STM32f4--HAL
  6. UVA 116——Unidirectional TSP
  7. jsoncpp学习笔记
  8. C++学习笔记(一)
  9. SQL Server【三】连接查询
  10. HDU3430-扩展中国剩余定理