On Mon, May 31, 2021 at 12:20 PM MRAB <[email protected]> wrote:
> On 2021-05-31 15:55, Paul Bryan wrote: > > If you're proposing prevention of monkey patching Ellipsis, I think > > you'll have to go all-in on all builtins. > > > > For example: > > > >>>> str = int > > > >>>> str > > > > <class 'int'> > > > >>>> str == int > > > > True > > > > > If you rebind str to int, the repr of str will say <class 'int'>, so you > can tell that something's happened, but the repr of ... is always > 'Ellipsis', even though you've rebound Ellipsis. > Exactly. Thinking some more about it, perhaps the confusion would be sufficiently reduced if the repr of '...' would be 'Ellipsis (...)', and use this repr to appear in error messages rather than simply the name Ellipsis. > > > > > On Mon, 2021-05-31 at 11:37 -0300, André Roberge wrote: > >> In Python `...` is referred to as `Ellipsis` and cannot be assigned to. > >> Yet, one can assign any value to the name `Ellipsis`. > >> > >> Consider the following: > >> > >> ``` > >> >>> ... > >> Ellipsis > >> >>> ... == Ellipsis > >> True > >> >>> Ellipsis > >> Ellipsis > >> >>> Ellipsis = 3 > >> >>> Ellipsis > >> 3 > >> >>> ... = 4 > >> File "<stdin>", line 1 > >> ... = 4 > >> ^ > >> SyntaxError: cannot assign to Ellipsis > >> >>> # But I just did assign a new value to the name Ellipsis above. > >> >>> Ellipsis > >> 3 > >> >>> ... > >> Ellipsis > >> >>> ... == Ellipsis > >> False > >> ``` > >> > >> For consistency, `Ellipsis` (the name) should **always** refer to the > >> same object that `...` refers to, so that both could not be assigned a > >> new value. > >> > _______________________________________________ > Python-ideas mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/NE2FAW3XDFYUIMILV4BC2XT6VKLC4P6V/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/DIRDIQFK72LFHYJNAD5BWL3L5SPAUMVM/ Code of Conduct: http://python.org/psf/codeofconduct/
