iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python包中__init__.py文件怎么使用
  • 671
分享到

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

2023-07-02 13:07:17 671人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

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

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

一、__init__.py文件简介

Python 定义了两种类型的包,常规包和命名空间包。常规包是传统的包,因为它们存在于 Python 3.2 和更早的版本中。一个常规包通常被实现为一个包含__init__.py 文件的目录。当一个常规包被导入时,这个__init__.py文件被隐式执行,它所定义的对象被绑定到包的名字空间中。

这是Python官方文档中对__init__.py文件的描述,其实它的意思很简单,就是说Python文件都是按照目录当作不同的模块来组织的,这个目录被认为是Python包目录,Python会通过搜索该目录下的文件来导入相关的模块。但是并不是所有的目录都会被搜索添加,只有当目录中包含__init__.py文件时,这个目录才会被Python当作是一个包目录,进而搜索添加里面的文件。这样做可以让编程者自己控制哪些目录可以被Python导入成包。

当某个目录中包含__init__.py文件时,Python在引入这个模块之前,会首先执行这个文件。因此,这个文件也可以被编程者用来控制定义包级别的变量。

综上所述,__init__.py文件最主要的作用是2个:

当目录下包含这个文件时,Python会将其当作成包目录,进而可以使用import xx.xx的方式导入目录下的文件或者模块。

使用__init__.py文件可以控制模块导入时的变量和内容,便于编程者的控制。

下面我们看几个例子即可。

二、__init__.py文件的使用案例

2.1、没有__init__.py文件的目录,使用import xx.xx会报错吗?

看版本,在较低的版本中(如3.2及以下),没有__init__.py文件的目录不能使用import xx.xx导入相关模块,但是后面的版本可以。

2.2、在__init__.py文件中定义变量或者逻辑将在导入时候被执行

例如,我们有如下的目录结构:

init_example/ a_pkg/

                                 __init__.py

                                a.py

                   init_test.py

即init_example工程下有个init_test.py文件和a_pkg目录,a_pkg目录下有__init__.py文件和一个a.py文件。

我们在a_pkg目录下的__init__.py文件定义:

print("Hey, I am a __init__.py file")

那么,如果我们在init_test.py中内容如下:

from a_pkg import *

执行init_test.py我们可以得到如下结果:

Hey, I am a __init__.py file

因为在from a_pkg import *时候,会首先执行a_pkg目录下的__init__.py文件。

2.3、在__init__.py文件中定义变量或者方法,可以被直接导入使用

还是上面的目录,假如我们在a_pkg目录下的a.py定义如下内容:

def a_method():        print("I am a_pkg!")

在a_pkg目录下的__init__.py文件定义:

from a_pkg.a import a_method

那么,我们在init_test.py中引入a_pkg可以直接引入a_method方法:

from init_example.a_pkg import a_method a_method()

会打印如下内容:

I am a_pkg!

2.4、在__init__.py文件中使用__all__方法

__all__方法可以在__init__.py文件定义一些包或者变量,可以在使用

from init_example.a_pkg import *

时定义*表达的内容。

例如还是上面的内容,但是我们在a_pkg目录下的__init__.py文件定义:

__all__ = ["a"]

那么,我们在init_test.py中使用下面的语句可以引入a模块:

from a_pkg import *a.a_method()

这时候依然会打印如下内容:

I am a_pkg!

感谢各位的阅读,以上就是“Python包中__init__.py文件怎么使用”的内容了,经过本文的学习后,相信大家对Python包中__init__.py文件怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Python包中__init__.py文件怎么使用

本文链接: https://www.lsjlt.com/news/342099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python包中__init__.py文件怎么使用
    这篇文章主要讲解了“Python包中__init__.py文件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python包中__init__.py文件怎么使用”吧!一、__init_...
    99+
    2023-07-02
  • Python中__init__.py文件
    在Python中每次创建一个package后都会自动生成一个 __init__.py'空文件;该文件的作用是:声明我们当前创建的文件夹(包)是一个**Python模块**,在Python中每一个包中必须有一个__init__ .py文件. ...
    99+
    2023-01-31
    文件 Python py
  • Python中__init__.py文件怎么写
    这篇“Python中__init__.py文件怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中__init...
    99+
    2023-07-05
  • Python包和__init__.py文
            在eclipse中用pydev开发python脚本时,当新建一个package时,系统会自动地生成一个空的__init__.py文件。如果把这个文件删掉,那么你会发现包图标自动变为文件夹图标。这是怎么回事呢?        ...
    99+
    2023-01-31
    Python py
  • Python中__init__.py文件的作用
    目录1 init文件夹图标2 init.py导入包方式2.1 单个导入2.2 批量引入(定义__all__用来模糊导入)3 实例4 其他常见问题4.1 使用__init__.py文件...
    99+
    2024-04-02
  • 【Python】`__init__.py` 文件详解
    本文针对Python开发者, 详细描述了__init__.py文件在参与包、模块、命名空间导入/重命名/初始化时的使用方法,以及其中代码的执行机制。 本文使用边执行案例,边分析,边给结论的方法,描...
    99+
    2023-09-03
    python pycharm 开发语言
  • 深入理解Python中__init__.py文件
    目录1. 简介1.1 模块(Module)和包(Package)的概念1.2 __init__.py文件简介2. __init__.py内容写法2.1 __init__.py文件内容...
    99+
    2023-02-09
    Python中__init__.py
  • Python包中__init__.py文件的作用与用法实例详解
    目录前言一、__init__.py文件简介二、__init__.py文件的使用案例2.1、没有__init__.py文件的目录,使用import xx.xx会报错吗?2.2、在__i...
    99+
    2024-04-02
  • python中怎么调用py文件
    在python中调用py文件的方法:1.新建python项目;2.导入sys模块;3.使用sys.path.append()方法存放文件路径;4.通过import方法调用文件;具体步骤如下:首先,打开python,并新建一个python项目...
    99+
    2024-04-02
  • python中__init__()怎么使用
    这篇文章主要讲解了“python中__init__()怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中__init__()怎么使用”吧!目录python类中定义的函数称为...
    99+
    2023-06-21
  • 在__init__.py中找不到引用“ xxx”-Python / Pycharm
    复现论文时,作者给出源代码,我从guthub上下载下载放在pycharm中泡,但是显示很多地方都在__init__.py中找不到引用 找了很多方法,最终:需要在被引用的包中添加__init__.py文件【不需要在新建的文件中写什么】 ...
    99+
    2023-10-18
    pycharm ide python
  • python中的super().__init__()怎么使用
    本篇内容主要讲解“python中的super().__init__()怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中的super().__init__()怎么使用”吧!su...
    99+
    2023-07-05
  • 【Python】Python 包 ② ( 自定义 Python 包 | 导入并调用自定义 Python 包 | `__init__.py` 定义 `__all__` 变量 )
    文章目录 一、自定义 Python 包1、PyCharm 中创建 Python 包2、自定义 Module 模块代码3、`__init__.py` 代码 二、导入并调用自定义 Python...
    99+
    2023-10-23
    python 开发语言 自定义包 导入自定义包 __init__.py 原力计划
  • python怎么读取py文件
    读取方法:使用with关键字打开example.py文件,并读取文件内容。读取完成后,我们将文件内容存储在变量content中,并将其打印出来。 在Python中,要读取一个.py文件...
    99+
    2024-04-02
  • python怎么调用其他py文件
    python 中可以通过以下步骤调用其他 python 文件:使用 import 语句导入文件。使用点符号访问模块属性和函数。使用 as 关键字重命名导入以避免冲突。使用相对导入调用当前...
    99+
    2024-05-05
    python
  • python怎么建立py文件
    在 python 中创建 .py 文件的步骤:打开文本编辑器(例如 notepad、textmate 或 sublime text)。创建新文件并输入 python 代码,注意缩进和语法...
    99+
    2024-05-05
    python sublime notepad
  • python怎么删除py文件
    在 python 中删除.py文件可以通过导入os模块并使用remove()函数来实现,详细步骤包括:1.导入os模块;2.提供要删除的文件路径;3.处理文件不存在或无法访问的异常;4....
    99+
    2024-05-05
    python
  • python怎么创建py文件
    在 python 中创建 .py 文件可通过以下步骤:使用文本编辑器或 ide 创建新文件。输入 python 代码。以 ".py" 扩展名保存文件(例如 "my_script.py")...
    99+
    2024-05-05
    python sublime pycharm notepad
  • 使用pyinstaller打包多个py文
    1. 安装pyinstaller。 pip install pyinstaller  !!!!64位win7上打包后始终不能用,提示找不到ldap模块,换了32位win7就好了。!!!!(代码中涉及ldap模块) 2. pyinsta...
    99+
    2023-01-31
    多个 pyinstaller py
  • 怎么使用auto-py-to-exe打包Python脚本
    这篇文章主要介绍了怎么使用auto-py-to-exe打包Python脚本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用auto-py-to-exe打包Python脚本文章都会有所收获,下面我们一起来看...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作