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

有没有简单优雅的方法来定义单例?

常飞翼
2023-03-14
问题内容

似乎有很多方法可以在Python中定义单例。关于堆栈溢出是否有共识?


问题答案:

我没有真正的需要,因为具有功能(而不是类)的模块可以很好地用作单例。它的所有变量都将绑定到模块,该模块无论如何都无法重复实例化。

如果您确实希望使用类,则无法在Python中创建私有类或私有构造函数,因此,您只能通过使用API​​的约定来保护自己免受多重实例化。我仍然将方法放在模块中,并将模块视为单例。



 类似资料:
  • 我正在开发一个java程序,它接受输入的分数,给出输入的总数和平均值,但是我很难计算出如何获得当前输入的最高分数“我使用了大量嵌套的else-if语句,但必须有一种简单的方法来实现这一点,而不是键入100个else-if语句这是我的代码。我在else-if语句开始的地方添加了一条注释,以确定最高级别

  • 本文向大家介绍cmake 没有包的简单方法,包括了cmake 没有包的简单方法的使用技巧和注意事项,需要的朋友参考一下 示例 构建可执行文件(编辑器)并将其链接到库的示例(突出显示)。项目结构简单明了,每个子项目都需要一个主CMakeLists和一个目录: 母版CMakeLists.txt包含全局定义,并add_subdirectory针对每个子项目进行调用: 库的CMakeLists.txt分配

  • 问题内容: 我正在尝试弄清楚如何解析一些XML(对于Android应用程序),在Java中很难做到这一点似乎很荒谬。似乎需要创建一个具有各种回调(startElement,endElement等)的XML处理程序,然后您必须注意将所有这些数据更改为对象。类似于本教程。 我真正需要的只是将XML文档更改为多维数组,甚至更好的是拥有某种Hpricot处理器。有没有办法做到这一点,还是真的必须在上面的示

  • 问题内容: 最近,我一直在使用嵌套集模型中的废话。我喜欢为几乎所有有用的操作和视图设计查询。我坚持的一件事是如何选择节点的直接子代(并且 仅 选择子代,而不是进一步的子代!)。 老实说,我确实知道一种方法-但它涉及大量的SQL。我敢肯定有一个更直接的解决方案。 问题答案: 您是否阅读过您张贴的文章?在“查找节点的直接下属”标题下 但是,我要做的(这是作弊)是将嵌套集与邻接列表结合在一起-我在表中嵌

  • 问题内容: 来自Gson项目的此链接似乎表明,将类型化的Map序列化为JSON时,我将必须执行以下操作: 很酷,这行得通,但是似乎有很多开销( 整个Type Adapter类? )。我使用了其他JSONLib之类的JSON库,它们使您可以通过以下方式构建地图: 或者,如果我有一个自定义类,则如下所示: 该过程更加手动,但是所需的代码更少,并且没有开销来为Number创建自定义类型适配器,或者在大多

  • 我有一个javascript函数,它接受一个数组,并对该数组的每个项执行另一个函数。有很多重复的部分,所以我假设有一种更简单的递归方式来写这个: null null 数组中的每个项要么是字符串,要么是嵌套数组。字符串不必是唯一的,所以我认为我不能使用object和map()来代替。