Python中的__init__与__main__

本文探讨了Python中包的初始化文件`__init__.py`的作用,特别是如何使用`__all__`变量来控制导出的模块。通过示例展示了在`sound`包及其子包`effects`中如何定义`__init__.py`,以实现模块导入的定制。当同时在`sound/__init__.py`和`effects/__init__.py`设置`__all__`时,主程序会获取最内层包的`__all__`属性。
摘要由CSDN通过智能技术生成

目录结构

sound/                          Top-level package
      __init__.py               Initialize the sound package
      __main__.py
      formats/                  Subpackage for file format conversions
              __init__.py
              wavread.py
              wavwrite.py
      effects/                  Subpackage for sound effects
              __init__.py
              __main__.py
              echo.py
              surround.py
              reverse.py


#sound/__main__.py
#coding:utf_8
print 'sound.__main__'
############################
#effects/__main__.py
#coding:utf_8
print 'effects.__main__'
############################
#echo.py
#coding:utf_8
print 'echo'
x='echo'
###########################
#surround.py
#coding:utf_8
print 'surround'
z='surround'
###########################
#reverse.py
#coding:utf_8
print 'reverse'
y='reverse'

一、在__init__.py中__all__
1、__all__列表可以填写与该__init__.py同级的包(或模块)
如在sound/__init__.py的__all__中,可以这样写
__all__=["effects"]
在effects/__init__.py的__all__中,可以这样写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值