您的位置:首页 > 编程语言 > Python开发

python 面试相关

2014-06-03 16:09 441 查看
python单例模式:

    Python真的需要单例模式吗?我指像其他编程语言中的单例模式。

    答案是:不需要! 因为,Python有模块(module),最pythonic的单例典范。模块在在一个应用程序中只有一份,它本身就是单例的,将你所需要的属性和方法,直接暴露在模块中变成模块的全局变量和方法即可   

#!/usr/bin/env python
#encoding=utf-8

import threading

#单例类
class Singleton(object):
instance = None
mutex =threading.Lock()
def __init__(self):
pass

@ staticmethod  #声明这个是静态方法
def GetInstance():
if(Singleton.instance == None):
Singleton.mutex.acquire()
if(Singleton.instance == None):
print "init the instance"
Singleton.instance = Singleton()
else:
print "init the instance already"
Singleton.mutex.release()
else:
print "init the instance already"
return Singleton.instance

if __name__ == '__main__':
Singleton.GetInstance()
Singleton.GetInstance()
Singleton.GetInstance()
#类只能调用到静态的方法,切记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: