假设我有一个带有构造函数(或其他函数)的类,它接受数量可变的参数,然后有条件地将它们设置为类属性。
我可以手动设置它们,但是在 python 中变量参数似乎非常常见,因此应该有一个常用的习惯用法来实现这一点。但我不确定如何动态地做这件事。
我有一个使用 eval 的例子,但这样做不安全。我想知道正确的方法,也许和 Lambda 一起?
class Foo:
def setAllManually(self, a=None, b=None, c=None):
if a!=None:
self.a = a
if b!=None:
self.b = b
if c!=None:
self.c = c
def setAllWithEval(self, **kwargs):
for key in **kwargs:
if kwargs[param] != None
eval("self." + key + "=" + kwargs[param])