python 元类是啥,网上找资料看了两个小时,确实是太菜了。
以下总结下:
元类就是继承的类,要成为可继承的类,首先要继承type,且要复写new方法。
要继承元类,使用metaclass来指定,使用方法:
class test(metaclass=MyClass):
type是内置默认的元类,type可以一行代码创建类:
T = type('classname', (classAA,), {'attr1': 45, 'attr2': 97,'function': func})
classname 是类名
classAA是要继承的类名
att1和att2是变量名,后面就是值了。
func是方法名,这个方法要单独写好的,如果有入参,调用时:T().func("传参")
补充说明下:元类和继承的类是有差异的,
继承了元类后,访问dict,返回的数据包括了元类的所有属性。
继承普通的类,访问dict,返回的数据只有当前类的属性。