当前位置: 首页 > 面试题库 >

Python:包中的“私人”模块

董高朗
2023-03-14
问题内容

我有一个封装mypack与模块mod_a,并mod_b在里面。我打算将包装本身包装并mod_a自由进口:

import mypack
import mypack.mod_a

但是,我想保留mod_b的专有使用权mypack。那是因为它的存在仅仅是为了组织后者的内部代码。

我的第一个问题是,拥有这样的“私有”模块在Python编程中是否被接受?

如果是,我的第二个问题是,将这种意图传达给客户的最佳方法是什么?我是否在名称前加上下划线(例如_mod_b)?还是声明一个子包private并将所有这些模块放在那里是个好主意?


问题答案:

我确定的解决方案是创建一个子包“ private”,并将所有希望隐藏的模块放在其中。这样,他们就可以收起来,使mypack的模块列表更整洁,更易于解析。

对我来说,这看起来也不是不可思议的。



 类似资料:
  • 在github文档中找不到任何东西,在这里也找不到。但是我想知道是否可以有一个用于名为的私有存储库,该存储库可以访问,只有一个人可以访问存储库本身。 我记得曾经读过一些关于github页面总是公开的东西,但似乎再也找不到了。

  • 本文向大家介绍C#私人的,包括了C#私人的的使用技巧和注意事项,需要的朋友参考一下 示例 的private关键字标记属性,方法,字段和嵌套类为仅在类中使用:            

  • 本文向大家介绍Python中的包和模块实例,包括了Python中的包和模块实例的使用技巧和注意事项,需要的朋友参考一下 一、实例和结果 1)实例的结构和具体的文件: 2)PyCommonM.py 3) P1M.py: 4)P1MC.py: 5)P2M.py: 6) P2.py: 7) 运行p2.py的结果: 二、解释 *  一个py文件为一个module,例如module: PyCommonM.p

  • 我有以下场景: 我想在测试中覆盖公共方法methodA()的catch块。我不想更改私有方法的可见性。是否有任何方法可以使用EasyMock实现私有方法的部分模拟?或者有没有办法改变Junit类中私有方法的行为,以便在不使用mocking的情况下抛出异常? 提前谢谢。