【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("成大事者,不拘小节")
相关推荐
lssjzmn11 小时前
Spring Web 异步响应实战:从 CompletableFuture 到 ResponseBodyEmitter 的全链路优化
java·前端·后端·springboot·异步·接口优化
企业软文推广11 小时前
奥迪A5L×华为:品牌营销视角下的燃油车智能突围战!
python·华为
new_daimond11 小时前
二级缓存在实际项目中的应用
java
一只乔哇噻11 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
Pocker_Spades_A11 小时前
Python快速入门专业版(十五):数据类型实战:用户信息录入程序(整合变量、输入与类型转换)
数据库·python
lichong95112 小时前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之video 的各种状态和生命周期调用说明
android·vue.js·macos
IMER SIMPLE12 小时前
人工智能-python-深度学习-神经网络-GoogLeNet
人工智能·python·深度学习
app出海创收老李12 小时前
海外独立创收日记(1)-我是如何从0到1在Google Play获得睡后被动收入的?
android·程序员
lang99988812 小时前
kodi在Android4.0.4安装播放歌曲显示歌词
android·kodi·歌词插件
User_芊芊君子12 小时前
【Java】设计模式——单例、工厂、代理模式
java·设计模式·代理模式