Spaces:
Running
Running
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
""" | |
@Time : 2023/5/11 16:15 | |
@Author : alexanderwu | |
@File : singleton.py | |
""" | |
import abc | |
class Singleton(abc.ABCMeta, type): | |
""" | |
Singleton metaclass for ensuring only one instance of a class. | |
""" | |
_instances = {} | |
def __call__(cls, *args, **kwargs): | |
"""Call method for the singleton metaclass.""" | |
if cls not in cls._instances: | |
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) | |
return cls._instances[cls] | |