On Wed, Oct 27, 2021 at 10:27 AM Christopher Barker <python...@gmail.com> wrote: > > I'm very confused about the apparent convergence on the token "=>" for > deferred parameter assignment.
The current text of the PEP uses that. It's not particularly important to me *what* symbol is used, so I just use the same one as in the PEP, for some measure of consistency. > On the other hand, others have suggested :=, which is could also be used as > part of the expression, so not a good idea either :-( Yes. I originally was positing =: and another viable suggestion is ?=. There are a few other options listed in the PEP, and I'm happy to hear arguments for and against. > BTW: was it intentional that this: > > In [8]: def fun(x, y=(z:=3)): > ...: print(x,y,z) > ...: > ...: > > adds z to the function namespace -- sure seems odd to me. > If it doesn't add it to the function namespace, what does it add it to? Do parameters get their own namespace? You can reassign your parameters in the function without a nonlocal declaration, which strongly suggests that they're in the exact same namespace as assignments made in the function body; so I don't see any particular reason to isolate this one example. Of course, this wouldn't be *good* code, but it should be acceptable by the interpreter. (For starters, it will only assign z if y is omitted.) ChrisA _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@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/A3FPGWE3AD5GG4R7DR2OEGMU6IZDIQNZ/ Code of Conduct: http://python.org/psf/codeofconduct/