1. 程式人生 > 其它 >單例類*****

單例類*****

技術標籤:pythonpython學習經驗總結python面向物件程式設計

定義

1.一個類智慧例項化一個物件
2.一個類建立物件例項是通過呼叫父類object的__new__(cls)方法來建立物件的,執行__new__先與__init__

寫一個單例類
class Single:
	__one = None
	def __new__(cls, *args, **kwargs)
		if not __one:  # 當__one為空的時候,才執行 object.__new__()方法,開闢一個空間
			cls.__one = object.__new__(cls) # 開闢一個空間之後,__one即為非空, 再次例項化時不在開闢新空間
return cls.__one def __init__(self, name, age): self.name = name self.age = age a = Single('1go', 10) b = Single('2go', 20) # 在同一空間,將a的內容覆蓋 print(a.name) print(b.name) 執行結果 均為 2go