[Python-Dev] Arbitrary non-identifier string keys when using **kwargs
Steven D'Aprano
steve at pearwood.info
Thu Oct 4 04:56:34 EDT 2018
While keyword arguments have to be identifiers, using **kwargs allows
arbitrary strings which aren't identifiers:
py> def spam(**kwargs):
... print(kwargs)
...
py> spam(**{"something arbitrary": 1, '\n': 2})
{'something arbitrary': 1, '\n': 2}
There is some discussion on Python-Ideas on whether or not that
behaviour ought to be considered a language feature, an accident of
implementation, or a bug.
Can we get some guidence on this please?
Thanks,
--
Steve
More information about the Python-Dev
mailing list