python 單例的實現 new方法

new方法

  • new方法是由object基類提供的內置方法
  • 在內存中爲對象分配空間
  • 返回對象引用
  • Python解釋器獲得對象引用後,將引用作爲第一個出參數傳遞給init方法
class Player:
  __flag = False
  __instance = None

  def __new__(self,*args,**kwgrgs):
    print("new執行了")
    if cls.__instance is None:
      cls.__instance = super().__new__(cls)
    return cls.__instance
  
  def __init__(self):
    if not Player.__flag:
      # init 代碼塊
      Player.__flag = True
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章