如何使用“one”类参数**kwargs
设置对象属性?
我想要的是在一个循环中执行此代码:
class purchase():
def __init__(self,**kwargs):
self.set_attributes(kwargs)
def set_attributes(self,kwargs):
if 'file' in kwargs.keys():
self.file = kwargs['file']
if 'text' in kwargs.keys():
self.text = kwargs['text']
if 'language' in kwargs.keys():
self.language = kwargs['language']
应该是这样的:
class purchase():
def __init__(self,**kwargs):
self.set_attributes(kwargs)
def set_attributes(self,kwargs):
for v,k in kwargs.iteritems():
self.k = v
当然不起作用。
有没有办法在一个循环中以编程方式设置对象属性?
答案 0 :(得分:2)
你去吧
class purchase():
def __init__(self,**kwargs):
self.set_attributes(kwargs)
def set_attributes(self,kwargs):
for k, v in kwargs.iteritems():
setattr(self, k, v)