Python基础(40) - 元类的作用
2020-03-10 本文已影响0人
xianling_he
元类的概念
- metaclass 元类,类似于创建类的模板,所有的类都是通过它来创建
- 可以自由控制类的创建过程
- 单例模式、ORM模式
元类的作用
class Singleton(type):
def __init__(self,*args,**kwargs):
print('in __init__')
self.__instance = None
super(Singleton,self).__init__(*args,**kwargs)
def __call__(self,*args,**kwargs):
print('in __call__')
if self.__instance is None:
self.__instance = super(Singleton,self).__call__(*args,**kwargs)
print(type(self.__instance))
class myClass(metaclass=Singleton):
pass
my1 = myClass()
my2 = myClass()
print(my1 is my2)
hexianling.png
总结
1.元类就是类的模板,可以自由控制创建类实例的过程