当“解构”元组时,我可以使用_
表示我不感兴趣的元组元素,例如
>>> a,_,_ = (1,2,3)
>>> a
1
使用 Python 2.x,如何用函数参数表达相同的内容?我尝试使用下划线:
>>> def f(a,_,_): return a
...
File "<stdin>", line 1
SyntaxError: duplicate argument '_' in function definition
我也尝试完全忽略这个论点:
>>> def f(a,,): return a
File "<stdin>", line 1
def f(a,,): return a
^
SyntaxError: invalid syntax
还有其他方法可以达到同样的目的吗?
我刚刚想到的一个有趣的方法是删除变量:
def f(foo, unused1, unused2, unused3):
del unused1, unused2, unused3
return foo
这有很多优点:
- 当作为位置参数和关键字参数调用函数时,未使用的变量仍然可以使用。
- 如果您稍后开始使用它,则无法使用它,因为它已被删除,因此出错的风险较小。
- 这是标准的 python 语法。
- PyCharm 做了正确的事! (截至 2020 年,PyCharm 不再做正确的事情 :( 跟踪此问题https://youtrack.jetbrains.com/issue/PY-39889 https://youtrack.jetbrains.com/issue/PY-39889 )
- PyLint 不会抱怨并使用
del
是推荐的解决方案PyLint 手册 https://pycodequ.al/docs/pylint-messages/w0613-unused-argument.html#how-to-fix.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)