有没有办法在Python中编辑** <object>的行为?

时间:2018-08-22 03:42:35

标签: python-3.x kwargs

这比必要的用例更具好奇心,但我想编辑以下行为:

>>> from collections import ChainMap
>>> x={'a':3,'b':4,'c':5}
>>> y={'d':33,'e':45,'c':7}
>>> z={'aa':3,'bb':4,'cc':5}
>>> def foo(a,b,c,cc,**kwargs):
...     print(a,b,c,cc)

>>> map = ChainMap(x,y,z)
>>> map
ChainMap({'a': 3, 'b': 4, 'c': 5}, {'d': 33, 'e': 45, 'c': 7}, {'aa': 3, 'bb': 4, 'cc': 5})

>>> foo(**map)
3 4 5 5

是否有可能改变**的行为做自定义事情,例如返回重复的keys之和。在上述情况下,它将打印3 4 12 5还是给最后一个实例而不是第一个3 4 7 5

0 个答案:

没有答案