On Tue, Oct 20, 2020 at 2:02 PM Chris Jerdonek firstname.lastname@example.org wrote:
On Mon, Oct 19, 2020 at 3:11 PM Thomas Wouters email@example.com wrote:
PEP: 640 Title: Unused variable syntax Author: Thomas Wouters firstname.lastname@example.org
In Python it is somewhat common to need to do an assignment without actually needing the result. Conventionally, people use either ``"_"`` or a name such as ``"unused"`` (or with ``"unused"`` as a prefix) for this. It's most common in *unpacking assignments*::
Many times I'm not using an assignment target, I still like to give a descriptive name. The reason is that it lets me see what value I'm not using. It helps to document and confirm my understanding of the value being unpacked. It also lets you toggle easily between using and not using a value if you're working on the code.
To illustrate, I might do this--
scheme, _netloc, _path, params, query, fragment = urlparse(url)
instead of this--
scheme, _, _, params, query, fragment = urlparse(url)
So I'd prefer if the scheme would allow including a name (either by prefixing or some other method), or at least not preclude such an extension in the future.
It does not preclude it -- ?somename is not valid syntax, so it could be added later -- but please note that the pattern matching proposal also does not allow this. Using names instead of ? is still an option -- both in regular unpacking and in pattern matching -- it just does something subtly different.
The reason for this PEP is that pattern matching will make '_' (but not any other names) have the behaviour suggested in this PEP, but *only* in pattern matching.