如何表示未使用的函数参数?

2024-05-15

当“解构”元组时,我可以使用_表示我不感兴趣的元组元素,例如

>>> 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(使用前将#替换为@)

如何表示未使用的函数参数? 的相关文章

随机推荐