这看起来似乎是一个奇怪的问题,但问题是我有一个我想要分配变量的类(所以在self.vname = Whatever
中使用__init__
),但这个变量名称作为wkargs传递在实例化中。
所以班级看起来像
class Object(object):
def __init__(self, **kwargs):
for key in kwargs.keys():
self.what_do_i_type_here = kwargs[key]
实际上这是一个我将延伸的课程,所以我不知道该怎么做。
我想创建一个泛型类,在每个扩展案例中都会定义不同的变量。
怎么做,或者如何更好地实施?
答案 0 :(得分:3)
您可以使用setattr
:
for key, value in kwargs.items()
setattr(self, key, value)
但是我没有看到这一点,因为你不会知道你设置的键,所以你无法在任何地方使用它们。
为什么不将它们保存在字典中?
self.data = kwargs
然后您可以随时迭代self.data
及其值。
答案 1 :(得分:1)