【Python】为什么要写__init__.py

文章目录

正常我们直接导入就可以执行,但是在package的时候,有一种__init__.py的特殊存在

引入moduleA.py,执行main.py,输出moduleA

PackageA(__init__特性)


加入package,在PackageA中加入__init__.py,优先执行__init__.py

应该往__init__.py里放什么东西?

1、包的初始化

环境变量、logging等

2、管理包的公共接口

包需要在外面被使用的东西

如果在main里引用moduleA里的x变量,会报错
ImportError: cannot import name 'x' from 'PackageA' (D:\Desktop\Python\Base\initPy\PackageA\__init__.py)


这样就需要在__init__.py中先引用

__all__的用法
通过*引入的话,all中的值才能被引用

3、包的信息

版本 version

作者 author

...


python 复制代码
print("成大事者,不拘小节")
相关推荐
蹦蹦跳跳真可爱58911 分钟前
Python----大模型(GPT-2模型训练加速,训练策略)
人工智能·pytorch·python·gpt·embedding
xwill*13 分钟前
π∗0.6: a VLA That Learns From Experience
人工智能·pytorch·python
jiayong2321 分钟前
知识库概念与核心价值01
java·人工智能·spring·知识库
皮皮林55134 分钟前
告别 OOM:EasyExcel 百万数据导出最佳实践(附开箱即用增强工具类)
java
还不秃顶的计科生40 分钟前
LeetCode 热题 100第二题:字母易位词分组python版本
linux·python·leetcode
weixin_462446231 小时前
exo + tinygrad:Linux 节点设备能力自动探测(NVIDIA / AMD / CPU 安全兜底)
linux·运维·python·安全
不瘦80斤不改名1 小时前
Python 日志(logging)全解析
服务器·python·php
多米Domi0111 小时前
0x3f 第19天 javase黑马81-87 ,三更1-23 hot100子串
python·算法·leetcode·散列表
Da Da 泓1 小时前
多线程(七)【线程池】
java·开发语言·线程池·多线程
To Be Clean Coder1 小时前
【Spring源码】getBean源码实战(三)
java·mysql·spring