Steven D'Aprano wrote:
> On Sun, Dec 27, 2020 at 02:05:38PM -0000, Anton Abrosimov wrote:
> > 
> > *, ** are operators, but behaviorally they are methods or 
> > functions. I think this is the main problem.
> > 
> > No they aren't operators. They aren't in the operator precedence table, 
> and they don't have dunders associated with them:
> https://docs.python.org/3/reference/expressions.html#operator-precedence
> Nor can you use them in places you can use arbitrary expressions:
> >>> a, b, c  = *(1, 2, 3)
>   File "<stdin>", line 1
> SyntaxError: can't use starred expression here

Hmm... PEP 448 -- Additional Unpacking Generalizations:
> This PEP proposes extended usages of the * iterable unpacking operator and ** 
> dictionary unpacking operators to allow unpacking in more positions, an 
> arbitrary number of times, and in additional circumstances. Specifically, in 
> function calls, in comprehensions and generator expressions, and in displays.

Steven D'Aprano wrote:
> You contradict yourself:
> "I can implement any behaviour"
> "I can't realize any other behaviour ..."
> Which is correct?

I apologize for my english, I meant that I cannot implement the following 
behavior inside the class:

```
class MyClass:
    def __iter__(self):
        return self.items_for_iteration
    def __unpack__(self):
        return self.items_for_unpack
```
I have to make a separate method and have to rely on the user of the class.

Steven D'Aprano wrote:
> What are you trying to do that you want to use iterator unpacking on 
> something but not make it an iterator?

How can I implement an unpackable dataclass without littering it with 
non-dunder methods?
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/6FGSOQE4AQPJLVOWFXR23GVC2HJB7VBY/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to