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

2024-05-16 05:57:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

>>> a,_,_ = (1,2,3)
>>> a
1

使用Python2.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

有没有其他方法可以达到同样的效果?


Tags: in元素内容returndefstdinline函数参数
3条回答

下面是我如何处理未使用的参数:

def f(a, *unused):
    return a

下划线用于我们不关心的事情,*in*参数表示参数列表。因此,我们可以用*来表示我们不关心的事情:

def foo(bar, *_):
    return bar

它甚至通过了皮查姆的检查。

我刚想到的一个有趣的方法是删除变量:

def f(foo, unused1, unused2, unused3):
    del unused1, unused2, unused3
    return foo

这有许多优点:

  • 在将函数同时作为位置参数和关键字参数调用时,仍可以使用未使用的变量。
  • 如果你以后开始使用它,因为它已经被删除了,你就不能使用它,所以出错的风险更小。
  • 这是标准的python语法。
  • PyCharm做了正确的事!
  • PyLint不会抱怨,使用delPyLint manual中推荐的解决方案。

相关问题 更多 >