【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("成大事者,不拘小节")
相关推荐
西岭千秋雪_9 分钟前
Kafka客户端整合
java·spring boot·分布式·kafka·linq
Tech_Lin11 分钟前
手搓工具之手写签字识别提取工具
python
leonardee13 分钟前
Golang笔记——Interface类型
java·后端
我是好小孩20 分钟前
【Android】RecyclerView的高度问题、VH复用概念、多子项的实现;
android·java·网络
张彦峰ZYF22 分钟前
高并发优惠权益聚合接口的优雅实现(含超时控制 + 来源标识 + Fallback 降级)
java·后端·面试
Amber_3722 分钟前
php的数组和python的列表 -- 横向对比学习
python·学习·php
4Forsee24 分钟前
【Android】模板化解决复杂场景的滑动冲突问题
android·java·rpc
彭同学学习日志27 分钟前
解决 Android Navigation 组件导航栏配置崩溃:从错误到实现的完整指南
android·kotlin
若水不如远方28 分钟前
深入 Dubbo 服务暴露机制:从注解到网络的完整链路剖析
java·dubbo
tanxinji29 分钟前
Netty编写Echo服务器
java·netty