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
どのように変更しますか (すべてが正常に動作しますか)?