Alterar o que os operadores * splat e ** splatty-splat fazem no meu objeto
Como você substitui o resultado da descompactação da sintaxe*obj
e**obj
?
Por exemplo, você pode, de alguma forma, criar um objetothing
que se comporta assim:
>>> [*thing]
['a', 'b', 'c']
>>> [x for x in thing]
['d', 'e', 'f']
>>> {**thing}
{'hello world': 'I am a potato!!'}
Nota: a iteração via__iter__
("para x na coisa") retorna elementos diferentes da descompactação * splat.
Eu dei uma olhadaoperator.mul
eoperator.pow
, mas essas funções dizem respeito apenas ao uso de dois operandos, comoa*b
ea**b
e parecem não relacionados a operações splat.