#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 单例模式:用来创建单个实例(只创建一个实例) 思想:创建实例时进行检查,如果已经创建实例,就返回该实例,如果没有创建,就创建一个实例 ''' class Foo: instance = None #实例对象 def __init__(self,name): self.name = name #判断实例是否存在(instance是否为真) @classmethod def get_instance(cls): if cls.instance: #实例存在(instance为真) return cls.instance else: #实例不存在,创建 obj = cls('同一个实例') cls.instance = obj return obj #通过get_instance方法来获取实例(实例存在则获取,不存在则创建) obj1 = Foo.get_instance() #实例不存在,创建实例 print(obj1) obj2 = Foo.get_instance() #实例存在,获取已有实例 print(obj2) #obj1和obj2获取的是同一个实例(实例内存地址相同)
关注我的公众号,不定期推送资讯
本文来自博客园,作者:链条君,转载请注明原文链接:https://www.cnblogs.com/MacoLee/articles/6038609.html