首页 > 编程语言 > 详细

python包中__init__.py文件的作用

时间:2019-10-29 14:20:46      阅读:65      评论:0      收藏:0      [点我收藏+]

python包中__init__.py文件的作用

__init__.py文件最常用的作用是标识一个文件夹是一个 python包。

__init__.py文件的另一个作用是定义模糊导入时要导入的内容。

当我们使用类似 from package import * 的导入语句的时候就是在使用模糊导入了,这时包的编写者就可以在__init__.py文件中定义 __all__ 来限制模糊导入的内容。

这样可以避免将一些只在包内使用的方法或变量暴露给用户。

__init__.py还可以简化导入过程,比如:

Django中的 models文件有时会有很多个表,并且每个表都有很多的属性和方法,这样就会使得 models文件变得很臃肿。

所以我们会把创建一个 models包,在这个包里每个表都单独用一个 py文件来保存,但是这样在导入的时候会有一些麻烦。

现在假设我们有一个 User表,按照上面我们的方法我们有一个 models文件夹,文件夹里有一个 User.py文件,这个文件里保存着我们的 User表的类。

这样当我们在其他文件导入 User类时的导入语句就是 from app.models.User import User 但是我们更习惯原来的写法 from app.models import User

这时我们就可以在 models里的 __init__.py文件中导入 User类,这样我们就可以使用原来的写法来导入User类了。

# models.__init__.py
from .User import User

python包中__init__.py文件的作用

原文:https://www.cnblogs.com/leijiangtao/p/11758375.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!