天天看点

python-单例模式-只实例化一次类

class A(object):
	__instance = None
	__name  = ""
	def __new__(cls,name):
		
		if cls.__instance == None:
			cls.__instance  = object.__new__(cls)
		else:
			print("对象已经创建")
		return cls.__instance  
	def __init__(self,name):
	 	self.__name  = name
	def getName(self):
	 	print(self.__name)

a1 = A("tom")
print(id(a1))
a1.getName()

a2 = A("mike")
print(id(a2))
a2.getName()
           
  • 运行结果
140177940730736
tom
对象已经创建
140177940730736
mike
           

继续阅读