On Wed, Jun 26, 2019 at 11:00 PM Chris Angelico <ros...@gmail.com> wrote:
>
> On Thu, Jun 27, 2019 at 6:50 AM Yanghao Hua <yanghao...@gmail.com> wrote:
> >
> > On Wed, Jun 26, 2019 at 10:16 PM Chris Angelico <ros...@gmail.com> wrote:
> > >
> > > Let's suppose that frob() returns something that has a __getself__
> > > method. Will f1 trigger its call? Will f2? If the answer is "yes" to
> > > both, then when ISN'T getself called? If the answer is "no" to both,
> >
> > What's the problem for the "yes" case? If you define such an object of
> > course __get/setself__() is always called, and f1() is still equal to
> > f2().
>
> Then in what circumstances will getself NOT be called? What is the
> point of having an object, if literally every reference to it will
> result in something else being used? The moment you try to return this
> object anywhere or do literally anything with it, it will devolve to
> the result of getself, and the original object is gone.

No, it won't -- getself() will/can return self, setself(self, other)
will type-checking other and re-interpret them into integers, and do
the magic (e.g. signal.next = integer). I implemented exactly the same
thing using signal[:] overriding get/setitem(). I mean, how to use it
is up to the user, there are endless possibilities. You can choose to
return self, or something entirely different, the point is you now
have control over "=" operator as you can for the other operators.
_______________________________________________
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/55Y74CR76JLBUUZL2EJA7B4GLZFPMYTD/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to