python基礎之單例設計模式
阿新 • • 發佈:2018-11-09
ins code return 設計 flag pla int layer als
class Player(): instance = None init_flag = False def __init__(self): if self.init_flag is False: print("初始化...") self.init_flag = True def __new__(cls, *args, **kwargs): if cls.instance is None: cls.instance = super().__new__(cls)return cls.instance if __name__ == ‘__main__‘: p1 = Player() p2 = Player() p3 = Player() p4 = Player() print(p1) print(p2) print(p3) print(p4)
整體思路,用一個類屬性來記錄是否已經執行過這個函數,如果執行過了,改下類屬性的值,然後判斷這個值來進行單例模式
python基礎之單例設計模式