Python如何实现单例模式

2023-07-06   


Python有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式:
   1.
   class Singleton(type):
   def __init__(cls, name, bases, dict):
   super(Singleton, cls).__init__(name, bases, dict)
   cls.instance = None
  
   def __call__(cls, *args, **kw):
   if cls.instance is None:
   cls.instance = super(Singleton, cls).__call__(*args, **kw)
  
   return cls.instance
  
   class MyClass(object):
   __metaclass__ = Singleton
  
   print MyClass()
   print MyClass()
   2. 使用decorator来实现单例模式
   def singleton(cls):
   instances =
   def getinstance():
   if cls not in instances:
   instances[cls] = cls()
   return instances[cls]
   return getinstance
  
   @singleton
   class MyClass:
   …


相关内容:

  1. Python面试题集
  2. Python里面如何实现tuple和list的转换
  3. Python面试题:Python里面如何生成随机数
  4. Python文件操作的面试题
  5. spring中的核心类有那些以及作用
  6. 建龙钢铁面试总结