python单例模式实例
时间: 2024-05-19 15:09:02 浏览: 104
Python的单例模式可以通过定义一个类属性来实现,这个类属性保存了类的唯一实例。当我们需要访问这个唯一实例时,我们只需要调用类方法,该方法会返回唯一实例。以下是一个Python单例模式的示例代码:
```python
class Singleton(object):
__instance = None # 保存类的唯一实例
def __new__(cls, *args, **kwargs):
if not cls.__instance:
cls.__instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
return cls.__instance
def __init__(self):
self.name = "Singleton"
def say_hello(self):
print("Hello, I am a singleton instance.")
```
在上面的代码中,我们定义了一个`Singleton`类,该类的`__new__`方法用于创建唯一实例。当`__instance`属性为空时,`__new__`方法会调用父类的`__new__`方法来创建唯一实例。接下来,我们可以调用类方法`getInstance()`来获取这个唯一实例。
```python
s1 = Singleton()
s2 = Singleton()
print(s1 == s2) # 输出True
s1.say_hello() # 输出:Hello, I am a singleton instance.
```
如上面的代码所示,我们可以通过比较两个对象的引用来判断它们是否为同一个实例。另外,我们还可以通过调用该实例的方法来验证它是不是唯一实例。
阅读全文