通过元类创建一个Python类

最开始学Python的时候我们定义类都是

class ClassName:
    pass

当熟悉了元类的概念之后我们可以这样创建

ClassName = type("ClassName",(),{})

当有父类的时候:

class ClassName(object):
    pass

等价于

ClassName = type("ClassName",(object),{})

当需要初始化值的时候:

class ClassName:
    self.num = 1
    pass

此时等价于:

ClassName = type("ClassName",(),{"num":1})

当需要绑定某个函数的时候:

class ClassName:
    def printSth(self):
        print('xxxx')
    pass

等价于

def printSth(self):
        print('xxxx')
ClassName = type("ClassName",(),{"printSth":printSth})

注:上面不带双引号的ClassName都是类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值