python动态创建类的声明


  1. 动态创建类的声明

    使用内置函数type,原型:class type(name, bases, dict)
    name是类的名字,相当于__class__
    bases是类的基类,元组,可以有多个基类,但是基类必须直接或者间接继承自object类,否则会报错
    dict是类的变量,字典类型,相当于静态变量,与在__init__函数中声明的不同

  2. 代码示意片段:

    class A(object):
      def __init__(self):
          print "A init ..."
    
    class B(A):
        def __init__(self):
            print "B init ..."
    
    inst = B()
    print inst.__class__
    print B.__bases__
    print "B =",hex(id(B))
    Q = type("Q",(B,),{})
    print "Q =",hex(id(Q))
    
posted @ 2015-10-20 17:07  阳光下的星星cc  阅读(433)  评论(0编辑  收藏  举报