函数中的参数(__)是什么?

时间:2019-05-03 11:23:33

标签: python

我看到了类似波纹管的功能,我不知道_的含义。

def child_handler(signum, _):
    logging.warn('received SIGQUIT, doing graceful shutting down..')

_在哪里?


但是,但是,如果我们忽略_,为什么我们在那里需要忽略的参数?

3 个答案:

答案 0 :(得分:1)

_变量只是一种说法,它不会在下一行使用。

基本上,您不在乎名称是什么,因为它永远不会被引用。

答案 1 :(得分:0)

从本质上讲,它是ignoring变量值的一种方式,我们不想在行下使用它。

另一种思维方式是它是将被忽略的值的占位符

def func(a, b):

    return a,b

#I care about both return values
c,d = func(2,3)

#I don't care about the second returned value, so I put a _ to ignore it
c, _ = func(2, 3)

另一个很好的用例是在运行for循环但不关心索引时。

for _ in range(10):
    #do stuff

即使对于函数,它的行为也就像无关紧要的变量

def func(a, _):
    print(a)

func(1, 5)

输出将为1

答案 2 :(得分:-1)

Python中的下划线_可以用于不同的情况。在这种情况下,这意味着child_handler函数的第二个参数将被忽略(所谓的“无关”)。