python教程--__init_.py的作用
__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的作用相关推荐
- 【python】setup.py的作用
简而言之,setup.py是python模块分发与安装的指导文件 有了setup.py文件,运行下面这条命令,可以进行模块的安装. python setup.py install 下面给出setup. ...
- Python中 __init__.py的作用
我们经常在python的模块目录中会看到 __init__.py 这个文件,那么它到底有什么作用呢? 1.标识该目录是一个python的模块包(module package) 如果你是使用python ...
- Python杂谈: __init__.py的作用
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package ...
- Python的__init__.py文件作用
今天在运行pytest命令的时候遇到报错,试过很多种方法,也没解决.后来才发现原来是无意中删除了__init__.py文件,python虚拟机觉得不是合法的包,导致不能识别而报错.添加之后再运行,果然 ...
- python教程:模块的作用与说明
Python模块 如果你从Python解释器退出并再次进入,之前的定义(函数和变量)都会丢失.因此,如果你想编写一个稍长些的程序,最好使用文本编辑器为解释器准备输入并将该文件作为输入运行.这被称作编写 ...
- python中__init__.py的作用、module和package
控制包的导入行为: 1.声明当前文件是一个可导入的包: 2.如果当下包下有多个.py文件使用__ all__ = [ '模块名'],也就是form XXX import YYY module和pack ...
- cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...
- python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程
python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ... ...
- 简明Python教程笔记(一)
此文为简明Python教程笔记. 第一部分 介绍 Python特点 简单.易学--伪代码本质 免费开源--FLOSS(自由/开放源码软件) 高层语言 可移植性强--支持多平台 解释性--更易移植 面向 ...
最新文章
- 如何使用JavaScript Math.floor生成范围内的随机整数-已解决
- 【 C 】关于学习 realloc 踩过的那些坑
- 告诉你你也学不会!中台灵感 SuperCell 的管理之道!
- linux怎么用jconsole_jconsole监控上Linux上的JVM
- 更改应用程序图标_苹果更新 TestFlight 应用图标,增加更多拟真细节
- 【C++】 Boost 库编译技巧总结
- webpack4学习之问题一
- 远离“数据呆” 对业务的理解和思考永远高于分析技术的选择
- JAVA day05 构造方法,this关键字,方法的重载,引用类型数组
- java if else 过多_Java利用策略模式优化过多if else代码
- 华为3500光端机基本介绍_华为OSN3500光端机License授权管理介绍
- C - Copying Books (POJ - 1505)
- linux 蓝牙打印机驱动安装失败,Win7蓝牙驱动安装失败的原因分析与解决方法
- oracle的异步备份,网络存储导论第七章:异步数据复制容灾方式
- java getday_Date类的getDay()和getDate()方法
- 定时轮播Echarts造成内存泄漏致使浏览器崩溃问题
- 终于搞定美团app人气榜提取的数据分类工作
- 计算机软件著作权一般要多久,软件著作权一般多长时间
- 2023年武汉理工大学能源动力(085800)考研上岸前辈备考经验指导
- Java里面jvr_微信小程序java解密报异常Key length not 128/192/256 bits
热门文章
- android调用so封装jni,GitHub - Michelle0716/AndroidJniDemo1: 安卓对c进行so文件打包,并以jni的形式进行调用...
- php 去除 html 属性,用PHP 去掉所有html标签里的部分属性
- 异步日志系统设计demo
- 合约 cd 模式_CD的完整形式是什么?
- 定时器--STM32f4--HAL
- UVA 116——Unidirectional TSP
- jsoncpp学习笔记
- C++学习笔记(一)
- SQL Server【三】连接查询
- HDU3430-扩展中国剩余定理