如果我不需要函数返回的变量,如何从PEP8满足未使用变量规则?

时间:2014-04-04 19:40:51

标签: python pep8

在Python中使用函数返回几个变量时, 例如:

row, column = search_in_table(table_name, search_for)

有时您只需要使用函数返回的其中一个变量。但是当发生这种情况时,该行标有PEP8 Unused Variable警告。

我如何处理这种情况,以便遵守所有PEP8规则?

1 个答案:

答案 0 :(得分:16)

嗯,根据您的口味,您可以选择以下两种方法之一:

  1. 遵循未使用变量的Python约定,并用下划线替换每一个:

    # We only need row
    row, _ = search_in_table(table_name, search_for)
    

    或:

    # We only need column
    _, column = search_in_table(table_name, search_for)
    
  2. 索引函数的返回值:

    row = search_in_table(table_name, search_for)[0]
    

    或:

    column = search_in_table(table_name, search_for)[1]
    

    这最后一个解决方案有效,因为从技术上讲,Python函数永远不会返回多个值。相反,他们可以返回值元组

    >>> def func():
    ...     # This is equivalent to:  return (1, 2)
    ...     return 1, 2
    ...
    >>> func()
    (1, 2)
    >>> type(func())
    <class 'tuple'>
    >>> a,b = func()
    >>> a
    1
    >>> b
    2
    >>> a = func()[0]
    >>> a
    1
    >>> b = func()[1]
    >>> b
    2
    >>>