
1 mengzhuo Aug 15, 2014 这个需求貌似违反了Python的明确比隐晦好的标准…… __init__里一般不是空的,有作者、版本、授权方式之类的东西 |
3 totoismi Aug 15, 2014 __init__.py 为空,如果仅仅导入包,基本什么都做不了的 |
4 no13bus Aug 15, 2014 ```python import bar __all__ = ['bar'] ``` all是明确你需要导入哪些东西,python建议你写,不然的话 python会把所有东西都导入的。不明确 |
6 no13bus Aug 15, 2014 @pyKun sorry 我以为现在v2ex已经支持mrkdown了呢。实际代码是这样的。写到foo的init里面。 import bar,bar1,bar2 __all__ = ['bar'] 那么你在from foo import *的时候 只能导入bar。 bar1 bar2都不能导入。__all__的意思就是让你对模块内的接口进行限制 以免默认情况下导入了一些变量 会对程序造成污染。 |