我可以创建一个cls1继承自cls.
>>> class cls(object):
... def func(self,arg):
... print 'func',arg
>>> def func1(self):
... print "func 1 of cls1"
>>> def func2(self):
... print "func2 of cls1"
>>> d=dict(func1=func1,func2=func2)
>>> cls1=type('cls1',(cls,),d)
一切都按预期工作:
>>> obj=cls1()
>>> obj.func(7)
func 7
我也可以替换cls1为FOO:
>>> cls1=type('FOO',(cls,),d)
这给了我:
'cls1': <class '__main__.FOO'>,
这(改变__name__变量)是否改变了行为cls1以及如何(一切仍然正常)?