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.
>
> 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 -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@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/NE2FAW3XDFYUIMILV4BC2XT6VKLC4P6V/
Code of Conduct: http://python.org/psf/codeofconduct/