【问题标题】:In python, what the underline parameter mean in function在python中,下划线参数在函数中的含义
【发布时间】:2012-07-10 21:10:20
【问题描述】:

比如我读了一段代码:

def parse_doc(self, _, doc):

下划线“_”是什么意思?

【问题讨论】:

    标签: python


    【解决方案1】:

    它通常是我们不关心的变量的占位符。例如,如果您有一个 for-loop 并且您不关心索引的值,您可以执行类似的操作

    for _ in xrange(10):
       print "hello World." # just want the message 10 times, no need for index val
    

    另一个例子,如果一个函数返回一个元组并且你不关心其中的一个值,你可以使用_ 来明确这一点。例如,

    val, _ = funky_func() # "ignore" one of the return values
    

    旁白

    与在 OP 的问题中使用 '_' 无关,但仍然整洁/有用。在 Python shell 中,'_' 将包含最后一次操作的结果。例如,

    >>> 55+4
    59
    >>> _
    59
    >>> 3 * _
    177
    >>>
    

    【讨论】:

    • _("sometext") 通常表示要翻译的文本(同样与OP的Q无关)
    • @xueliangliu 如果这回答了您关于'_' 含义的问题,请考虑答案旁边的accepting this answer by clicking the checkmark。它会奖励我们两个代表点数并将此问题标记为已解决。
    【解决方案2】:

    就像doc 一样,它是一个变量名。通常将变量命名为_ 表示不会使用。

    【讨论】:

    • 或 _("something") 表示要本地化(翻译)的文本......它也是一个神奇的变量,在 python shell 中使用时保存最后的结果......
    【解决方案3】:

    _ 在 python 中是一个有效的变量名。但多用于i18n,所以最好不要用于其他用途。

    【讨论】: