标签:方法 pytho span class *args 实例 als print div
当我们创建实例化一个类时,实际上是使用了Object内置的__new__方法。另外,类中的self,就是通过__new__方法创建的。
class A: def __new__(self):pass
a=A()
我们可以测试下这个原理:
class B: def __init__(self): print(‘我这是一个inti方法‘) def __new__(cls): print(‘我是一个New方法‘) b=B()
运行结果:我是一个New方法
对于__new__这个方法来讲,我们可以用它来实现单例设计模式:
class A: __instance=False def __init__(self,name,age): self.name=name self.age=age def __new__(cls,*args,**kwargs): if cls.__instance: return cls.__instance cls.__instance=object.__new__(cls) return cls.__instance a=A(‘fanncy‘,90) b=A(‘json‘,100) print(a.name) print(b.name) 运行结果:json json
标签:方法 pytho span class *args 实例 als print div
原文地址:https://www.cnblogs.com/hisweety/p/10297111.html