Измените, что операторы * splat и ** splatty-splat делают с моим объектом
Как переопределить результат распаковки синтаксиса*obj
а также**obj
?
Например, можете ли вы как-то создать объектthing
который ведет себя так:
>>> [*thing]
['a', 'b', 'c']
>>> [x for x in thing]
['d', 'e', 'f']
>>> {**thing}
{'hello world': 'I am a potato!!'}
Замечания: итерация через__iter__
("for x in thing") возвращает различные элементы из распаковки * splat.
Я заглянул вoperator.mul
а такжеoperator.pow
, но эти функции касаются только использования с двумя операндами, какa*b
а такжеa**b
и, похоже, не связаны с операциями сплат.