python动态创建类的声明

时间:2022-02-03 08:33:36

  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))