如何在python中抑制函数输出

Mic*_*ski 2 python arguments function python-2.7

假设我有一个非常简单的功能:

def myFunction(arg1, arg2):
    return arg1, arg2
Run Code Online (Sandbox Code Playgroud)

现在,如果我只想访问第二个参数,可以执行以下操作:

none, arg2 = myFunction(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 8

是的,是的,你可以做那样的事情.确切地说,实际上.

将要忽略的参数分配给名称,然后在其他任何位置使用.该_名称经常被使用:

_, arg2 = myFunction(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)

这个_名称只是一个约定,但大多数Python开发人员都认为它意味着'这个变量将被其余的代码忽略,它只是在那里完成一个元组赋值'.

或者,索引或切片输出:

arg2 = myFunction(arg1, arg2)[-1]
Run Code Online (Sandbox Code Playgroud)

或者对于具有两个以上返回值的函数:

arg2, arg3 = returnsMoreThanTwo(arg1, arg2)[-2:]
Run Code Online (Sandbox Code Playgroud)

但是如果你想在某个地方忽略中间的一个参数,那么_分配是最好的.您可以多次使用它而不会受到惩罚:

arg1, _, _, arg4 = returnsFourArguments(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)