多年来,我注意到我遇到的各种 Python 中的“通配符”变量。我假设它像 Haskell 一样工作:允许您将变量放在形式参数中需要的位置,但不绑定它。
例如,当我不需要其中一个变量时,我在元组解包赋值的左侧使用了它。
例如:
_, extension = os.path.splitext(filename)
所以当我今天写了类似的东西时:
(lambda (x,_,_): x)((1,2,3))
IE 我尝试绑定下划线两次,收到语法错误。我惊讶地发现 _ 确实是一个实变量:
(lambda (x,_,z): _)((1,2,3))
> 2
看起来_
只是一个变量名,就像其他变量名一样。
根据第一个示例,是否有我可以随意使用的真正通配符变量(即能够在元组解包分配中使用多个)?