python中含__init__.py 的文件才会被认作是一个包,为什么呢,这个文件有什么作用呢

 我来答
帐号已注销
2019-06-27 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:5653
展开全部

1、__init__.py是Python中package的标识

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

2、批量引入(定义__all__用来模糊导入)

我们在python中导入一个包时,实际上是导入了它的__init__.py文件,这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

3、配置模块的初始化操作,这个文件也是一个正常的python代码文件,因此可以将初始化代码放入该文件中。

扩展资料

python中__init__.py文件的作用实例:

python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。__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了。

檀香透窗棂
高粉答主

推荐于2019-11-02 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:6.6万
展开全部

原因:

__init__.py 文件定义了包的属性和方法。其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。

作用:

1、Python包的标识符。python包实际上就是一个文件夹,__init__.py的作用就是把这个文件夹变成一个可识别的python包。如果没有__init__.py文件,则该文件夹只是一个普通的目录。

2. 定义python包中的__all__,用于模糊导入。

扩展资料

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

通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。

这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑板客
推荐于2017-09-09 · TA获得超过469个赞
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:188万
展开全部
网上讲的很详细,转给你:

__init__.py的作用有如下几点:
1. 相当于class中的def __init__(self):函数,用来初始化模块。
2. 把所在目录当作一个package处理

3. from-import 语句导入子包时需要用到它。 如果没有用到, 他们可以是空文件。
如引入package.module下的所有模块
from package.module import *
这样的语句会导入哪些文件取决于操作系统的文件系统. 所以我们在__init__.py 中加入 __all__变量.
该变量包含执行这样的语句时应该导入的模块的名字. 它由一个模块名字符串列表组成.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式