我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python __init__.py 文

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python __init__.py 文

__init__.py的主要作用是:

1. Python中package的标识,不能删除

2. 定义__all__用来模糊导入

3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)


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

通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。


1240


1240

注意这里访问__init__.py文件中的引用文件,需要加上包名。

__init__.py中还有一个重要的变量,__all__, 它用来将模块全部导入。


1240


1240

这时就会把注册在__init__.py文件中__all__列表中的模块和包导入到当前文件中来。

可以了解到,__init__.py主要控制包的导入行为。要想清楚理解__init__.py文件的作用,还需要详细了解一下import语句引用机制:

导入包

多个相关联的模块组成一个包,以便于维护和使用,同时能有限的避免命名空间的冲突。一般来说,包的结构可以是这样的:


1240

有以下几种导入方式:


1240

使用from语句可以把模块直接导入当前命名空间,from语句并不引用导入对象的命名空间,而是将被导入对象直接引入当前命名空间。


应用举例:

程序结构:

-project

-data

-class="lazy" data-src

-filterCorpus.py

-translateMonolingual.py

问题描述:在translateMonolingual.py中引用filterCorpus.py中的函数fun1


1240

即使translateMonolingual.py和filterCorpus.py在同一文件夹下,若translateMonolingual.py中直接引用import filterCorpus会出错

。这是因为python3需要绝对路径引用,从project的根位置开始指明被引模块的位置。通用格式为:from directory import module。如果module存在于directory1下的directory2,那么建议写成from directory1.directory2 import module

为什么需要__init__.py

__init__.py文件用于组织包(package)。这里首先需要明确包(package)的概念。什么是包(package)?简单来说,包是含有python模块的文件夹。一个python模块(module)为一个py文件,里面写有函数和类。包(package)是为了更好的管理模块(module),相当于多个模块的父节点。

当文件夹下有__init__.py时,表示当前文件夹是一个package,其下的多个module统一构成一个整体。这些module都可以通过同一个package引入代码中。

__init__.py文件怎么写

可以什么都不写,但如果想使用from package1 import *这种写法的话,需要在__init__.py中加上:

__all__= ['file1','file2']#package1下有file1.py,file2.py

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

python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。

那么,__init__.py还有什么别的功能呢?

其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。

我们可以再__init__.py文件中再导入其他的包,或者模块。


1240

这样,当我们导入这个包的时候,__init__.py文件自动运行。帮我们导入了这么多个模块,我们就不需要将所有的import语句写在一个文件里了,也可以减少代码量。

不需要一个个去导入module了。

__init__.py 中还有一个重要的变量,叫做 __all__。我们有时会使出一招“全部导入”,也就是这样:

from PackageName import *

这时 import 就会把注册在包 __init__.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来。比如:

#文件 __init__.py

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


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python __init__.py 文

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python __init__.py 文

__init__.py的主要作用是:1. Python中package的标识,不能删除2. 定义__all__用来模糊导入3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__
2023-01-31

Python包和__init__.py文

在eclipse中用pydev开发python脚本时,当新建一个package时,系统会自动地生成一个空的__init__.py文件。如果把这个文件删掉,那么你会发现包图标自动变为文件夹图标。这是怎么回事呢?         原来在pyth
2023-01-31

Python中__init__.py文件

在Python中每次创建一个package后都会自动生成一个 __init__.py'空文件;该文件的作用是:声明我们当前创建的文件夹(包)是一个**Python模块**,在Python中每一个包中必须有一个__init__ .py文件.一
2023-01-31

Python中__init__.py文件怎么写

这篇“Python中__init__.py文件怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中__init
2023-07-05

深入理解Python中__init__.py文件

本文主要介绍了深入理解Python中__init__.py文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-09

Python中__init__.py文件的作用详解

__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导
2022-06-04

Python包中__init__.py文件怎么使用

这篇文章主要讲解了“Python包中__init__.py文件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python包中__init__.py文件怎么使用”吧!一、__init_
2023-07-02

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

本文实例讲述了Python模块包中__init__.py文件功能。分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的意义,偶然看到对它的介绍吓一大跳,这个文
2022-06-04

python怎么调用py文件

通过 import 语句导入 python 文件,具体步骤为:1. 创建要导入的 python 文件,定义函数或类;2. 在主 python 文件中使用 import 语句导入模块;3. 使用点号运算符(.)访问导入模块中的函数或类。如何在
python怎么调用py文件
2024-05-22

python怎么建立py文件

在 python 中创建 .py 文件的步骤:打开文本编辑器(例如 notepad、textmate 或 sublime text)。创建新文件并输入 python 代码,注意缩进和语法。保存文件时,使用 .py 扩展名(例如,my_scr
python怎么建立py文件
2024-05-05

python怎么创建py文件

在 python 中创建 .py 文件可通过以下步骤:使用文本编辑器或 ide 创建新文件。输入 python 代码。以 ".py" 扩展名保存文件(例如 "my_script.py")。使用命令提示符或终端运行脚本(python my_s
python怎么创建py文件
2024-05-05

python怎么删除py文件

在 python 中删除.py文件可以通过导入os模块并使用remove()函数来实现,详细步骤包括:1.导入os模块;2.提供要删除的文件路径;3.处理文件不存在或无法访问的异常;4.打印确认消息。如何在 Python 中删除 .py 文
python怎么删除py文件
2024-05-05

PYTHON 中的__init__()方

在类定义时,self和__init__会时常用到。self 参数,它在所有的方法声明中都存在。它代表实例对象本身,当你用实例调用方法时,由解释器悄悄地传递给方法的,所以,你不需要自己传递self 进来,因为它是自动传入的。class Sam
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录