-1
def cclass(arg1):
...     if True:
...         class klass (object):
...             print arg1
...             def __init__(self,arg1):
...                 self.arg1=arg1
...             def klassfunc(self):
...                 arg2=self.arg1
...                 print arg2
...     return klass()

このコードは当然エラー メッセージを生成します。

>>> test=cclass('astring')
astring
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "<interactive input>", line 10, in cclass
TypeError: __init__() takes exactly 2 arguments (1 given)

私の質問は次のとおりです。関数 arg1 をクラスに渡すにはどうすればよいですか?

4

1 に答える 1

2

他の python クラスの場合と同様に、コンストラクターに渡すだけです。:-)

return klass(arg1)
于 2012-09-11T11:15:01.517 に答える