详解python __init__.py 和 __all__作用

 更新时间:2023年02月10日 10:54:48   作者:lizi0403  
导入文件夹包的时候,会运行写在该文件夹包下的__init__.py文件,这主要是__init__.py的作用,本文结合示例代码介绍了python __init__.py 和 __all__作用,感兴趣的朋友一起看看吧

python __init__.py 和 __all__作用

一、__init__.py

1、导入文件夹包的时候,会运行写在该文件夹包下的__init__.py文件

如 import package

import package.xxx

from package import xxx 等

这样会自动运行package文件夹下的__init__.py文件

2、__init__.py文件中可以定义该文件夹包的名字空间,定义的方法就是在__init__.py文件里导入这些名字

如在package文件夹下的__init__.py文件里,可以导入该文件夹下的所有py文件(模块),这样就将所有模块名导入了package的名字空间:

如package文件夹下有file1.py和file2.py两个模块

在package的__init__.py里from . import *就将file1和file2导入了package的名字空间

这样在别处import package导入package包,就可以正常写调用语句如package.file1.func(), package.file2.func()

二、__all__属性

文件夹包下的__ini__.py文件里可以定义__all__属性,作用是在别处模糊导入该包中的所有名字时(from package import *),可以隐藏包中名字空间中的一些名字

补充:python 包 __init__ .py 作用 和 __all__方法

__init__.py的主要作用:

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

2. 定义__all__用来模糊导入

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

__all__的作用:

模糊导入中的*中的模块是由__all__来定义的,__init__.py的另外一个作用就是定义package中的__all__,用来模糊导入,如__init__.py:

到此这篇关于python __init__.py 和 __all__作用的文章就介绍到这了,更多相关python __init__.py 和 __all__作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python设计模式之职责链模式原理与用法实例分析

    Python设计模式之职责链模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之职责链模式,结合具体实例形式分析了Python责任链模式的概念、原理、定义与使用方法,需要的朋友可以参考下
    2019-01-01
  • python PaddleOCR库用法及知识点详解

    python PaddleOCR库用法及知识点详解

    在本篇内容里小编给大家分享的是一篇关于python PaddleOCR库用法及知识点详解内容,对此有需要的朋友们可以学习参考下。
    2021-07-07
  • PyTorch与PyTorch Geometric的安装过程

    PyTorch与PyTorch Geometric的安装过程

    这篇文章主要介绍了PyTorch与PyTorch Geometric的安装,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 在Linux中通过Python脚本访问mdb数据库的方法

    在Linux中通过Python脚本访问mdb数据库的方法

    这篇文章主要介绍了在Linux中通过Python脚本访问mdb数据库的方法,本文示例基于debian系的Linux系统,需要的朋友可以参考下
    2015-05-05
  • python使用rpc框架gRPC的方法

    python使用rpc框架gRPC的方法

    这篇文章主要为大家详细介绍了python使用rpc框架gRPC的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 人脸识别实战之Opencv+SVM实现人脸识别

    人脸识别实战之Opencv+SVM实现人脸识别

    这篇文章主要介绍了通过Opencv+SVM实现人脸识别功能,文中的示例代码介绍详细,对于我们学习人脸识别和OpenCV都有一定的帮助,感兴趣的小伙伴可以学习一下
    2021-12-12
  • TensorFlow绘制loss/accuracy曲线的实例

    TensorFlow绘制loss/accuracy曲线的实例

    今天小编就为大家分享一篇TensorFlow绘制loss/accuracy曲线的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python中的exec、eval使用实例

    Python中的exec、eval使用实例

    这篇文章主要介绍了Python中的exec、eval使用实例,本文以简洁的方式总结了Python中的exec、eval作用,并给出实例,需要的朋友可以参考下
    2014-09-09
  • python 中的9个实用技巧,助你提高开发效率

    python 中的9个实用技巧,助你提高开发效率

    这篇文章主要介绍了python 中的9个实用技巧,帮助大家提高python开发时的效率,感兴趣的朋友可以了解下
    2020-08-08
  • Python连接KingbaseES数据库实现增删改查(Ubuntu系统)

    Python连接KingbaseES数据库实现增删改查(Ubuntu系统)

    本文介绍了在Ubuntu系统中使用Python连接KingbaseES数据库的方法,主要内容包括:安装与Python版本匹配的ksycopg2驱动;配置环境变量和连接参数;实现数据库连接、建表及增删改查操作;封装一个可复用的数据库操作类,通过代码示例演示了数据插入、查询、更新和删除等常见操作
    2025-09-09

最新评论