我是否可以定义__init__
以便将**kwargs
中定义的关键字分配给类?
例如,如果要用ValidationRule
初始化一个ValidationRule(other='email')
类,则应将self.other
的值添加到该类中,而不必显式地命名每个可能的Kwarg。
class ValidationRule:
def __init__(self, **kwargs):
# code to assign **kwargs to .self
最佳答案
这可能不是最干净的方法,但它可以工作:
class ValidationRule:
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
我想我更喜欢ony's solution,因为当您的输入来自外部源时,它限制了可用的属性,以避免您遇到麻烦。
关于python - 我如何将** kwargs复制到自己?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2535917/