-
动态创建类的声明
使用内置函数type,原型:class type(name, bases, dict)
name是类的名字,相当于__class__
bases是类的基类,元组,可以有多个基类,但是基类必须直接或者间接继承自object类,否则会报错
dict是类的变量,字典类型,相当于静态变量,与在__init__函数中声明的不同 -
代码示意片段:
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))