This is the example I was talking about specifically: https://github.com/natelust/CloakingVarWriteup/blob/master/examples.py#L76. There are other possibilities as well, I would be happy to explain my Ideas directly, I am not sure exactly everything Yanghao is saying as I have not been able to follow it very closely.
On Wed, Jun 26, 2019 at 5:20 PM Chris Angelico <ros...@gmail.com> wrote: > On Thu, Jun 27, 2019 at 7:11 AM Yanghao Hua <yanghao...@gmail.com> wrote: > > > > 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. > > Then I completely don't understand getself. Can you give an example of > how it would be used? So far, it just seems like an utter total mess. > > ChrisA > _______________________________________________ > 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/ZBWKD4BGIRDBNQVF6SRXUMZ7EMKLCKCT/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- Nate Lust, PhD. Astrophysics Dept. Princeton University
_______________________________________________ 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/HHXKZ5VL2CF2TD5VCCEPY3NMYZSWWCOE/ Code of Conduct: http://python.org/psf/codeofconduct/