<div><div dir="auto">My feeling is that limiting it to strings is fine, but checking those strings for resembling identifiers is pointless and wasteful. </div></div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 9, 2018 at 9:40 AM Jeff Hardy <<a href="mailto:jdhardy@gmail.com">jdhardy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, Oct 7, 2018 at 3:45 PM Terry Reedy <<a href="mailto:tjreedy@udel.edu" target="_blank">tjreedy@udel.edu</a>> wrote:<br>
><br>
> On 10/7/2018 1:34 PM, Chris Barker via Python-Dev wrote:<br>
> > On Fri, Oct 5, 2018 at 3:01 PM Brett Cannon <<a href="mailto:brett@python.org" target="_blank">brett@python.org</a><br>
> > <mailto:<a href="mailto:brett@python.org" target="_blank">brett@python.org</a>>> wrote:<br>
> ><br>
> >     I'm also fine with saying that keys in **kwargs that are not proper<br>
> >     identifiers is an implementation detail.<br>
> ><br>
> ><br>
> > It's not just **kwargs -- you can also use arbitrary names with<br>
> > setattr() / getattr() :<br>
> ><br>
> > In [6]: setattr(foo, "4 not an identifier", "this works")<br>
> ><br>
> > In [7]: getattr(foo, "4 not an identifier")<br>
> > Out[7]: 'this works'<br>
><br>
> When this behavior of set/getattr was discussed a decade or so ago,<br>
> Guido said not to disable it, but I believe he said it should not be<br>
> considered a language feature.  There are other situations where CPython<br>
> is 'looser' than the spec.<br>
<br>
>From an alternative implementation point of view, CPython's behaviour<br>
*is* the spec. Practicality beats purity and all that.<br>
<br>
- Jeff<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/guido%40python.org</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">--Guido (mobile)</div>