我正在考虑以一种不寻常的方式使用**kwargs
:作为数据提供者而不是重载替换工具。这样,所有关键字参数都应该是一种类型,例如特定形式的元组,而不是其他方式。例如:
class SomeClass(object):
'''All **kwargs should be in ("string", 1, True) form'''
def __init__(self, some_param, **kwargs):
self.param = some_param
for arg in kwargs.itervalues():
if not isinstance(arg[0], str):
...
self.some_dict = kwargs
这样做可以吗?我觉得......很奇怪,这似乎很不合时宜。
答案 0 :(得分:3)
了解dict
构造函数在Python中的作用:
>>> dict(one=1, two=2, three=3)
{'three': 3, 'two': 2, 'one': 1}
也是关键字参数的“创造性”使用。如果这适用于标准类型,并且在您的应用程序中有意义,请选择它。