函数中的参数是什么?

2024-05-17 19:11:14 发布

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

我看到了一个像bellow这样的函数,我不知道_的意思。你知道吗

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

那里的_是什么?你知道吗


但是,如果我们忽略_,为什么我们需要一个被忽略的参数呢?你知道吗


Tags: 函数child参数loggingdefhandlerdownwarn
3条回答

_变量只是一种表示它不会被进一步使用的方法。你知道吗

基本上,你不在乎名字是什么,因为它永远不会被引用。你知道吗

它本质上是一种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

Python中的下划线_可以用于不同的情况。在本例中,这意味着child_handler函数的第二个参数被忽略(所谓的“不在乎”)。你知道吗

相关问题 更多 >