【python】python单例模式

面向对象的单例模式

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#单例模式
class ConnectPool():
    instance=None #创建一个静态变量
    @staticmethod
    def getinstance():#创建一个静态方法
        if ConnectPool.instance: #判断静态变量instance是装有类对象,有就返回
            return  ConnectPool.instance
        else:#如果instance没有装有类对象就创建对象,赋值给静态变量instance,然后返回
            obj=ConnectPool()
            ConnectPool.instance=obj
            return  ConnectPool.instance

for i in range(10):
    obj=ConnectPool.getinstance()
    print(obj)
#以上代码输出的结果为:
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>
# <__main__.ConnectPool object at 0x00000000023D93C8>

 

posted @ 2017-06-27 16:16  丰study  阅读(104)  评论(0)    收藏  举报