以元类实现单例
实现
极简化解释:在 Python 中类本身就是 type 的对象,而元类就是继承了 type 的类,仅此而已。
其实就是在初始化前检查一下当前类中是否存在一个实例,存在就返回。
1 | class SingletonMeta(type): |
如果你想以继承的方式使这个类成为单例,可以再添加一个工具类。
1 | class Singleton(metaclass=SingletonMeta): |
下面那句只是为了节省一点内存,可以用 sys.getsizeof
来验证这一点,这里不再赘述。如果你愿意的话,直接 pass
也可以。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 喵喵小窝!