Terry J. Reedy <[email protected]> added the comment:
CPython, at least, allows users to insert non-string keys in namespace dicts
that are conceptually string-key only.
>>> globals()[0] = 'zero'
>>> globals()[0]
'zero'
>>> vars()
{'__name__': '__main__', ..., 0: 'zero'}
[This is for consenting adults only, as it prevents sorting keys and
string-only operations on keys.
>>> dir()
...
TypeError: '<' not supported between instances of 'int' and 'str']
Do you propose to
1. Only use StringKeyDicts when non-string keys are not possible? (Where would
this be?)
2. Switch to a normal dict when a non-string key is added? (But likely not
switch back when the last non-string key is removed.)
3. Deprecate and remove the option to add non-string keys to namespace dicts?
(Proposed and rejected at least once as not gaining much.)
----------
nosy: +terry.reedy
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46845>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com