元类

早就知道python里一切皆对象,没想到类也是对象.负责产生其他类的类就是元类

类与对象

类与对象有两重含义

  • 类定义了属性和行为
  • 类可以作为创建实例的工厂

基于这一点,只需要额外理解该种关系可以继承.当实例化所编写的类时,类作为实例属性和行为的定义,并完成实例的生成.定义类时,仅仅是使用一个特殊的语法代替不同类的实例化.即实例化type类

直接使用type

可以直接通过type创建类,type接受3个参数

  1. name: leiming
  2. bases: 基类的元组
  3. attr: 属性的字典
def init(self,name):
    self.name = name

def eat(self):
    pass

def go_to_val(self):
    pass

Animal = type('Animal',(object,),{
    '__doc__':'hahaha',
    '__init__':init,
    'eat':eat,
    'go_to_val':go_to_val
创建子类
def move(self):
    pass
    
Cat = type('Cat',(Animal),{
    'move':move,
})
posted @ 2018-05-06 16:33  数据菜鸟  阅读(82)  评论(0)    收藏  举报