通过元类创建一个Python类
最开始学pytohn的时候我们这样定义类
class ClassName: pass
当熟悉了元类的概念之后我们还可以这样创建
ClassName = type("ClassName",(),{})
当有父类的时候
class ClassName(object): pass
等价于
ClassName = type("ClassName",(ojbect),{})
当需要初始化值得时候
class ClassName: self.num = 1 pass
此时等价于
ClassName = type("ClassName",(),{"num":1})
当需要绑定某个函数的时候
class ClassName(self): def print_sth(self): print('xxxxx') pass
等价于
def printSth(self): print('xxxx') ClassName = type("ClassName",(),{"printSth":printSth})
注:上面不带双引号的ClassName都是类。