通过元类创建一个Python类

通过元类创建一个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都是类。

posted @ 2019-12-08 15:22  極9527  阅读(258)  评论(0编辑  收藏  举报