当前位置: 首页 > news >正文

__init__.py __all__和 __name__的作用及其用法

    __ init__.py 的作用及其用法: 包下的__init__.py 所在目录是一个模块包,本身也是一个模块,可用于定义模糊导入时要导入的内容。当我们导入一个包的时候,包下的__init__.py中的代码会自动执行,因此在某些大的项目被使用频率较高的模块,我们也可以用于批量导入模块。


    首先创建一个名为 package5的包,这个包的__init__.py 也自动生成,再创建 init_test.py。 创建子包 package_init, 同样这个包的__init__.py 也自动生成,最后创建 init_demo1.py 和 init_demo2.py



在这里插入图片描述



    分别给 init_demo1.py 和 init_demo2.py 随意加一个str



在这里插入图片描述



在这里插入图片描述



    当在 init_test.py 中 执行模糊导入 from package5.package_init import * 后,打印 init_demo1 的 str1 和 init_demo2 的 str2 变量时,都会出现报错



在这里插入图片描述



在这里插入图片描述



    可以在 package_init 包下的__init__.py 添加 __ all__ = [‘init_demo1’,‘init_demo2’],
__ all__ 的作用稍后下面会继续说明



在这里插入图片描述



    再次执行 init_test.py, 能正常打印出 2个变量值



在这里插入图片描述



    当导入包时,自动执行 __init __.py 里面的代码



在这里插入图片描述



在这里插入图片描述



    批量导入模块, 假设有3个常用的模块,可以添加到 __ init __.py



在这里插入图片描述



    导入 package_init,相当于已经自动导入以上3个模块



在这里插入图片描述



    __all__的作用及其用法 :上面已经演示了在包下的 __init __.py, 可用于标识模糊导入时的模块。


    在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中,在 all_demo1.py 中添加3个变量,以及 标明 __ all__ = [‘str1’,‘str2’], 表示只允许 str1,str2 变量被导入



在这里插入图片描述



    可见,当模糊导入模块时, str3 变量值是不能被打印出来的



在这里插入图片描述



    如果需要打印出 str3 变量,需要导入模块时指明



在这里插入图片描述



    __name__的作用及其用法: __name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中, __ name __ 的名称就是__main __ 如果不是,则为这个模块的名称。__main__一般作为函数的入口, 也称主程序入口



在这里插入图片描述



    当 all_demo1.py 作为模块被导入时,结果为该模块名



在这里插入图片描述


http://www.mrgr.cn/news/63752.html

相关文章:

  • 【LeetCode】1. 两数之和
  • safetensor存取pytorch模型参数、玄数据简例
  • docker离线使用镜像包还原镜像
  • SpringCloud Alibaba-05 Seata分布式事务处理
  • PostgreSQL 增量备份:保护你的数据资产
  • CentOS 9 Stream 上安装 Maven
  • 《DelayQueue:Java界的“延时大师”》
  • Android 字节飞书面经
  • 生信入门第八课:RNA-seq比对、定量和差异分析
  • 项目_Linux_网络编程_私人云盘
  • Linux用户权限管理
  • Linux操作系统下载(centos)
  • 操作系统-多线程案例
  • 5天学习RAG路线图,你信吗?
  • 遥感图像Trento原始数据集下载
  • 如何在 Vue 页面中禁止选择、右键、复制及 F12 开发者工具
  • shell脚本编程
  • 奥数与C++小学四年级(第十八题 小球重量)
  • excel的宏1
  • 2024 年河南省高等职业教育技能大赛实施方案概述
  • 智能指针(内存泄漏问题)
  • JavaScript网页设计案例:智慧社区可视化大屏的实现
  • 如何使用和打开jconsole
  • 基于Python的黑龙江旅游景点数据分析系统【附源码】
  • Qml-Gif的显示
  • C语言结构体 变量对齐原理