面向对象的单例模式
#!/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>