單例概念:
使類在程式中只出現乙個例項。定義類時,__new__是控制例項的建立過程,__init__是給例項物件新增屬性。可以通過重寫__new__方法,來建立乙個單例。
單例的作用:
使用類時需要建立例項,如果多次使用,要多次建立。如果使用單例,只有乙個例項,避免記憶體資源浪費。
單例的應用:
當頻繁開啟銷毀乙個物件時,可以設計為單例。
如:日誌、應用程式、執行緒池、資料庫連線池、應用配置
**舉例:
class example(object):
is_instance = none
def __new__(cls, *args, **kwargs):
if example.is_instance is none:
example.is_instance =object.__new__(cls, *args, **kwargs)
return example.is_instance
def __init__(self):
self.name = 'a'
dog = example()
print(dog)
cat = example()
print(cat)
結果:<__main__.example object at 0x7f417d8c2d30>
<__main__.example object at 0x7f417d8c2d30>
python中的單例
class practice object cls flag false def new cls if cls.cls flag false cls.cls flag object new cls 注意 object.new cls 括號中的 cls,將類傳到父類 object 中 return c...
python中的單例
單例模式是一種常用的軟體設計模式,核心結構是只包含乙個被稱為單例類的特殊類,通過單例模式可以保證系統中只有乙個例項而且該例項易於外界訪問,從而控制例項數量來保證系統資源的節省。可以用於列印任務,以及類中例項只有乙個的情況下。單例模式設計的類只能例項,單例的四種方法要了解,類的call方法要能默寫。1...
使用列舉enum實現單例模式
單例模式的實現 1,普通模式 public class singledemo public singledemo getinstance return instance 以上模式為懶漢模式 可以改造為飢餓模式,即class載入即new物件 public class singledemo public...