【发布时间】:2019-12-05 08:07:21
【问题描述】:
我正在为一个项目使用一个模块,我必须将一个函数传递给模块,并且模型会执行以下操作:
class module:
def __init__(self, function, dictionary):
# dictionary is {'x':2, 'y':4, 'z':23}
function(**dictionary)
我的功能是这样的:
def function(*foo):
return sum(foo)
问题是,模块需要命名变量,并且会像解压字典一样将其传递给函数,而dictionary中的元素数量是可变的,所以我不能将函数预先写成@987654324 @,这会引发错误。我不想修改模块,因为那样的话,代码就不会通用。如何仅通过更改代码来解决此问题?
编辑:我需要 foo 作为在函数中使用的列表
【问题讨论】:
-
__init__的第一个参数始终是self。
标签: python python-3.x arguments argument-unpacking