1、类与实例
class Tool(object): # 类属性,相当于Java中的static修饰的属性 num = 0 def __init__(self): # 实例属性 self.num = 0 self.num += 1 # 类方法,相当于Java中的static修饰的方法,装饰器 @classmethod def add_num(cls): cls.num = 100 tool1 = Tool() tool2 = Tool() tool3 = Tool() Tool.add_num() print(Tool.num) print(tool1.num) print(tool2.num) print(tool3.num)
2、单例模式
class Test(object): __instance = None def __init__(self): print("----init方法----") def __del__(self): print("----del方法----") def __str__(self): print("----str方法----") def __new__(cls): print("----new方法----") if cls.__instance == None: cls.__instance = object.__new__(cls) return cls.__instance test1 = Test() print(id(test1)) test2 = Test() print(id(test2))