Python 使用函数创建类:传递参数

Python 使用函数创建类:传递参数,python,class,design-patterns,Python,Class,Design Patterns,此代码自然会生成一条错误消息: def cclass(arg1): ... if True: ... class klass (object): ... print arg1 ... def __init__(self,arg1): ... self.arg1=arg1 ... def klassfunc(self): ... arg2=

此代码自然会生成一条错误消息:

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()

我的问题是:我应该如何将函数arg1传递给类?

只需将其传递给构造函数,就像其他python类一样:-

>>> 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作为一个简单变量传入,所以我可能已经介绍了可能的用例。很抱歉浪费您的时间:@root您可以将arg1设置为默认参数:_init__self,arg=arg1
return klass(arg1)