Python模块包中__init__.py文件功能分析

yipeiwu_com6年前Python基础

本文实例讲述了Python模块包中__init__.py文件功能。分享给大家供大家参考,具体如下:

用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的意义,偶然看到对它的介绍吓一大跳,这个文件太重要了

模块包:

包通常总是一个目录,目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。

差不多就像这样吧:

Package1/ __init__.py    Module1.py    Module2.py  Package2  
Package1/Package2/ __init__.py       Module1.py       Module2.py

我们可以就这样导入一个包:

import Package1 

或者调入一个子模块和子包:

from Package1 import Module1 
from Package1 import Package2 
       ,import Packag1.Module1 
       ,import Packag1.Package2 

可以深入好几层包结构:

from Package1.Package2 import Module1 
           ,import Package1.Package2.Module1 

大致就这样吧,我觉得,包的精髓应该是在 __init__.py 这个文件之中的。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python实现任意位置文件分割的实例

应用场景 在嵌入式开发中,常常需要将一个binary文件分割成多个文件,或者将一个binary的某块区域抓成一个单独文件。本篇blog以python为例,实现了以上需求; 实现代码...

Python+OpenCV让电脑帮你玩微信跳一跳

Python+OpenCV让电脑帮你玩微信跳一跳

前言 最近微信小游戏跳一跳大热,自己也是中毒颇久,无奈手残最高分只拿到200分。无意间看到教你用Python来玩微信跳一跳一文,在电脑上利用adb驱动工具操作手机,详细的介绍以及如何安装...

python3读取MySQL-Front的MYSQL密码

前言 同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是MySQL-Front。 MySQL-Front就一款开源的mysql管理工具,官方网站http://www.my...

深入浅析Python中的yield关键字

前言 python中有一个非常有用的语法叫做生成器,所利用到的关键字就是yield。有效利用生成器这个工具可以有效地节约系统资源,避免不必要的内存占用。 一段代码 def fun()...

深入浅析Python传值与传址

1. 传值与传址的区别 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变:...