python元类

实例对象是由类来创建,那么类又是由什么来创建的呢? 答案就是元类。

In [19]: print(type(1)) # 数值的类型                                                                                       
<class 'int'>

In [20]: type(1)                                                                                                           
Out[20]: int

In [21]: print(type("fat boy")) # 字符串类型                                                                               
<class 'str'>

In [22]: type("fat boy")                                                                                                   
Out[22]: str

In [23]: print(type(FatBoy())) # 实例对象类型                                                                              
<class '__main__.FatBoy'>

In [24]: type(FatBoy())                                                                                                    
Out[24]: __main__.FatBoy

In [25]: print(type(FatBoy)) # 类的类型                                                                                    
<class 'type'>

In [26]: type(FatBoy)                                                                                                      
Out[26]: type

 .在python中,type用来创建对象 如:

Test2 = type("Test2",(),{}) # 定义了一个Test2类                                                                   

其中() 是创建类的父类,{}是创建类的属性

 

In [31]: @classmethod
    ...: def class_method(cls):
    ...:     print(cls.hobby)
    ...:

In [32]: FatBossGril = type('FatBossGril',(FatBoss,),{'id':1005,'static_method':static_method,'class_method':class_method})   

##FatBoss为创建类FatBossGril的父类,属性方法需提前定义def

 

就元类本身而言,它们其实是很简单的:

  • 拦截类的创建
  • 修改类
  • 返回修改之后的类

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值