我可以创建一个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
以及如何(一切仍然正常)?