我如何使** kwargs成为自变量

问题描述 投票:0回答:2

我创建了自己的类来进行一些数据处理。

这是我的类模块条件的概念

  1. 我想从**kwargs中获取所有用户输入变量,包括__init__
  2. __init__做预处理,需要**kwargs作为输入变量之一
  3. 还需要在类中需要**kwargs的额外数据处理功能
  4. 还需要需要__call__**kwargs方法

为了满足我的所有条件,在我看来,我需要使**kwargsself.**kwargs。那么,我如何为自变量创建关键字参数?

python-2.7 kwargs
2个回答
0
投票

你的意思是这样的吗?

self.__dict__.update(kwargs)

来源:https://stackoverflow.com/a/8685206/7762936


0
投票

当你在函数的参数中写**foo时,foo作为一个完全普通的dict传递给函数。如果要保存dict,只需将其复制到成员变量:

class Foo:
    def __init__(self,**kwargs) :
        self.kwargs = kwargs

    def function():
        if 'Arg1' in self.kwargs:
            return self.kwargs['Arg1']
        else
            return 0
© www.soinside.com 2019 - 2024. All rights reserved.