栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将多个python文件组织成一个模块而又不像一个软件包?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将多个python文件组织成一个模块而又不像一个软件包?

您可以做到这一点,但这并不是一个好主意,您正在与Python模块/软件包应该工作的方式作斗争。通过在其中导入适当的名称,

__init__.py
可以使它们在包名称空间中可访问。通过删除模块名称,可以使它们不可访问。(有关为什么需要删除它们的信息,请参阅此问题)。这样一来,您可以通过以下方式接近所需的内容
__init__.py

from another_class import doitfrom another_class import dataholderfrom descriptive_name import getSomeStufffrom descriptive_name import hold_more_datadel another_class, descriptive_name__all__ = ['doit', 'dataholder', 'getSomeStuff', 'hold_more_data']

但是,这将中断随后的尝试

importpackage.another_class
。通常,您不能从中导入任何内容,
package.module
而不
package.module
能将其作为对该模块的可导入引用进行访问(尽管
__all__
您可以使用阻塞
frompackage import module
)。

更一般而言,通过按类/函数划分代码,您正在使用Python包/模块系统。Python模块通常应包含要作为一个单元导入的内容。为了方便起见,直接在顶级包名称空间中导入子模块组件并不少见,但是相反的做法是试图隐藏子模块并
允许通过顶级包名称空间访问其内容,这将导致-
问题。另外,尝试“清理”模块的程序包名称空间没有任何好处。这些模块应该位于程序包名称空间中。那就是他们的归属。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号