python学习-(__new__方法和单例模式)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-(__new__方法和单例模式)相关的知识,希望对你有一定的参考价值。
class Dog(object): __instance = None __init_flag = False def __new__(cls, name): if cls.__instance == None: cls.__instance = object.__new__(cls) return cls.__instance else: #返回上一次创建的对象的引用 return cls.__instance def __init__(self,name): if Dog.__init_flag == False: self.name = name Dog.__init_flag = True a = Dog("旺财") print(id(a)) print(a.name) b = Dog("哮天犬") print(id(b)) print(b.name)
打印结果:
2193174953824
旺财
2193174953824
旺财
最后附上图便于理解 __new__方法的含义
以上是关于python学习-(__new__方法和单例模式)的主要内容,如果未能解决你的问题,请参考以下文章