Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将对象属性作为方法的参数动态传递_Python_Python 3.x - Fatal编程技术网

在Python中将对象属性作为方法的参数动态传递

在Python中将对象属性作为方法的参数动态传递,python,python-3.x,Python,Python 3.x,我所处的环境中有一个动态对象作为参数和不同的类进行实例化。我已经设法将类加载到字典中,因此我可以实例化通过命令行作为字符串传递的任何类,但我没有弄清楚如何将任何对象“解包”到参数中。例如,我的矢量器类的构造函数接收以下参数: Vectorizer(encoding=encoding, use_idf=True, norm='l2') 因此,每当用户指示必须实例化此类时,我也会收到一个具有以下示例属性的对象: params = { "encoding":"utf8", "use_idf"=Tru

我所处的环境中有一个动态对象作为参数和不同的类进行实例化。我已经设法将类加载到字典中,因此我可以实例化通过命令行作为字符串传递的任何类,但我没有弄清楚如何将任何对象“解包”到参数中。例如,我的矢量器类的构造函数接收以下参数:

Vectorizer(encoding=encoding, use_idf=True, norm='l2')
因此,每当用户指示必须实例化此类时,我也会收到一个具有以下示例属性的对象:

params = { "encoding":"utf8", "use_idf"=True, "norm"="l2"}
但我不能像这样实例化矢量器:

Vectorizer(params)
我知道一个可能的解决方案是在所有现有类中进行重构,并接收一个包含所有properies的唯一param,但我确实希望避免这种情况,因此我可以保留当前的描述性构造函数

那么,您知道如何将params对象作为必需的参数传递吗

提前感谢,

语法是:

Vectorizer(**params)
这称为字典解包,是。

语法为:

Vectorizer(**params)

这被称为字典解包,是。

看,我发誓我在询问之前试过了,但在控制台中没有工作。但我又试了一次,这次是在剧本上,成功了。谢谢感谢您指出概念和文档!!我真的很想知道怎么打电话给你我发誓我在问之前试过了,但在控制台里没用。但我又试了一次,这次是在剧本上,成功了。谢谢感谢您指出概念和文档!!我真的很想知道怎么称呼它