对于元类 以及其中init和call方法的理解

对于元类 以及其中init和call方法的理解
图1
对于元类 以及其中init和call方法的理解
图2

可以看到图1中我们实例化了player,这个player是MyMeta实例化出来的,MyMeta在类中调用了一个使用object创建了一个对象,于是乎这个play已经是一个实例化的对象了,因此我们在使用play()方法的时候,实质上是使用了object.new()对象的 方法。
图2 中b是b是实例化的对象,而对象+()才会调用call 。
顺便总结一下:元类的call 和init应该是init先执行吧,元类中的init方法用来初始化元类,然后call 方法用来控制对象的实例化。其实自己到这里也是一知半解,希望有大神可以指点不足吧。