Over the years, I have noticed the variable "wildcard" in different bits and pieces of Python that I came across. I assumed that it works like Haskell: allows you to put a variable where formal parameters are required, but not to bind it.
I used this, for example, on the left side of the destination for unpacking, if I do not need one of the variables.
For instance:
_, extension = os.path.splitext(filename)
So, when I wrote something similar to this today:
(lambda (x,_,_): x)((1,2,3))
those. I tried to associate the underscore twice, I received a syntax error. I was surprised to see that _ is indeed a real variable:
(lambda (x,_,z): _)((1,2,3))
> 2
It looks like _it's just a variable name, like any other.
bona fide, , (, ), ?