Есть ли способ отредактировать поведение **<объект> в Python?
Это больше любопытство, чем необходимый вариант использования, но я бы хотел отредактировать следующее поведение:
>>> 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
?