设为首页 加入收藏

TOP

Python 单例设计模式
2018-10-19 16:51:03 】 浏览:28
Tags:Python 单例 设计模式
class Foo:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def show(self):
        print(self.name, self.age)

v = None

while True:
    if v:
        v.show()
    else:
        v = Foo('klvchen', 666)
        v.show()

运行结果:
无限循环 666

不需要重复生产对象

class Foo:

    __v = None

    @classmethod
    def get_instance(cls):
        if cls.__v:
            return cls.__v
        else:
            cls.__v = Foo()
            return cls.__v

obj1 = Foo.get_instance()
print(obj1)
obj2 = Foo.get_instance()
print(obj2)
obj3 = Foo.get_instance()
print(obj3)

运行结果:
<__main__.Foo object at 0x0000029958542518>
<__main__.Foo object at 0x0000029958542518>
<__main__.Foo object at 0x0000029958542518>

单例模式可以很好地保证当前内存中仅存在单个实例,避免内存浪费。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 类的祖宗--metaclass 下一篇Python 进程线程协程 GIL 闭包 与..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目