编写一个单例(Singleton)类
时间: 2024-05-07 19:23:40 浏览: 94
单例(Singleton)模式
好的,以下是一个单例类的示例代码:
```python
class Singleton:
__instance = None # 类变量,用于存储唯一实例
def __new__(cls):
if cls.__instance is None: # 如果没有实例,就创建一个新实例
cls.__instance = super().__new__(cls)
return cls.__instance
def __init__(self):
self.some_attribute = "I am a singleton"
# 使用方法
s1 = Singleton()
s2 = Singleton()
print(s1.some_attribute) # 输出 "I am a singleton"
print(s2.some_attribute) # 输出 "I am a singleton"
print(s1 == s2) # 输出 True
```
在这个示例中,我们使用了 Python 的 `__new__` 方法来实现单例模式。在每次创建新对象时,我们会检查是否已经存在一个实例。如果不存在,则创建一个新实例并存储在类变量 `__instance` 中,否则返回已经存在的实例。
这样,我们就可以保证在整个应用程序中,只有一个 Singleton 类的实例存在。
阅读全文