当前位置:  开发笔记 > 编程语言 > 正文

如何在(子)模块中使用__init__.py来定义命名空间?

如何解决《如何在(子)模块中使用__init__.py来定义命名空间?》经验,为你挑选了1个好方法。



1> aneroid..:

这是一种类似python的方式来定义命名空间吗?或者是否有更好/通用的方法来组织python中的包的文件系统.(我没有为此找到合适的教程/示例.)

这是设置Python包的方法.只有和的,因为内容不是"好" foo.pybar.py.

我不喜欢使用package.foo.foo()/ package.subpackage.bar.bar()并且想使用package.foo()/ package.subpackage.bar().

在这种情况下,你不能.而不是混合名称空间是不做的好理由from package.subpackage.bar import bar.

这本来是更好,如果def foo(): ...def bar(): ...是直接__init__.py.这样一来,你可以做package.foo()package.subpackage.bar().它也可以通过__all__在init中使用来完成,但import *也不被认为是好的.

或者,foobar包应该有更多的像foo.function1,foo.other_func,bar.drink等这使得它更加人性化理解的组织.

示例和参考不在好的StackOverflow问题的范围内,但是这里有一些问题,这是一个深思熟虑的问题:

构建您的项目 - Hitchhiker的Python指南

Pythonic组织模块和包的方式

如何组织Python项目?

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有