Python __init__.py—将文件夹设置成Python模块
时间:2023-08-26
本文章向大家介绍Python __init__.py—将文件夹设置成Python模块,主要内容包括介绍、代码示例、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
介绍
包的标识符:__init__.py
用于指示 Python 解释器将包含它的目录标识为一个模块包(module package),所以它可以是一个空文件。但通常会包含一些关于包的元信息,比如包的版本号或作者信息。这些信息可以通过在 __init__.py
中定义变量来存储,并在包的其他模块中使用。
导入模块和变量:你可以在 __init__.py
文件中导入包内的模块,以便在导入包时,这些模块也会自动加载。
控制包的导出内容: 通过 __all__
变量,你可以控制哪些模块和变量会被导入包的用户引入。这可以帮助你隐藏内部实现细节,只暴露需要公开的接口。
代码示例
现有一个目录如下
script*.py文件的内容为:print("run script*");__init__.py文件的内容如下
# __init__.py
print("hello")
#包的标识符
__version__ = '1.0'
__author__ = 'Your Name'
#导入模块和变量
from .subtest import script3
from .script2 import *
#控制包的导出内容
__all__ = ['script1', 'script4']
>>> import test
hello
run script3
run script2
>>> from test.subtest import script4
run script4
从上面的运行结果可以看到,当test目录下有__init__.py时,导入test这个模块,会自动执行__init__.py的内容。
原文地址:https://www.cnblogs.com/chaimy/p/17635739.html
- Centos7下部署两套python版本并存环境的操作记录
- MapX中取得图元操作的速度测试
- FluorineFx:基于RSO(远程共享对象)的文本聊天室
- 扫盲文章:AMF,RTMP,RTMPT,RTMPS
- "操作必须使用一个可更新的查询"问题
- 利用fluorineFx将DataTable从.Net传递到Flash
- Linux服务器性能压力测试
- linq to sql中的自动缓存(对象跟踪)
- php5.6安装Zend Opcache扩展
- 图片相似检测:三行代码实现
- Gitlab备份和恢复操作记录
- 利用图形界面对Sql2008做日志收缩
- 值得关注的5个Python开源项目
- 使用Docker三剑客部署集群
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一天一大 lee(回文对)难度:困难-Day20200806
- 一天一大 lee(扫雷游戏)难度:中等-Day20200820
- 一天一大 lee(重新安排行程)难度:中等-Day20200827
- 一天一大 lee(机器人能否返回原点)难度:简单-Day20200828
- 一天一大 lee(有序链表转换二叉搜索树)难度:中等-Day20200818
- 一天一大 lee(钥匙和房间)难度:中等-Day20200831
- 一天一大 lee(最短回文串)难度:困难-Day20200829
- 一天一大 lee(预测赢家)难度:中等-Day20200901
- 一天一大 lee(反转字符串中的单词 III)难度:简单-Day20200830
- 一天一大 lee(平衡二叉树)难度:简单-Day20200817
- 一天一大 lee(组合总和)难度:中等-Day20200909
- 一天一大 lee(回文子串)难度:中等-Day20200819
- 一天一大 lee(组合)难度:中等-Day20200908
- es6学习笔记
- 一天一大 lee(图像渲染)难度:简单-Day20200816