代码之家  ›  专栏  ›  技术社区  ›  doberkofler

如何在返回二元组时仅使用一个参数

  •  1
  • doberkofler  · 技术社区  · 5 年前

    功能 os.path.split 例如,返回头和尾的元组。 我必须指定元组的两个部分,但是如果我只需要其中一个,pylint就会抱怨一个未使用的参数。在python中正确的方法是什么?

    (head, tail) = os.path.split("a/b/c")
    
    3 回复  |  直到 5 年前
        1
  •  3
  •   Lomtrur EK.    5 年前

    这样做的标准方法是 _ 是的。

    例如:

    head, _ = os.path.split("a/b/c")

        2
  •  4
  •   Rafael    5 年前

    你可以用 _ 以下内容:

    head, _ = os.path.split("a/b/c")
    

    这是大多数ide用来解释程序员对该值不感兴趣的约定,但是 _ 是合法的变量名,将指向“忽略”的值:

    >>> x = (1, 2, 3, 4)
    >>> _, *middle, _ = x
    >>> _
    4
    

    如果您有两个以上的值,甚至可以使用这样的值:

    >>> x = (1, 2, 3, 4)
    >>> x
    (1, 2, 3, 4)
    >>> first, *middle, last = x
    >>> first
    1
    >>> middle
    [2, 3]
    >>> last
    4
    

    因此,您仍然可以使用 _ 要“忽略”模式的某些部分,例如:

    >>> x = (1, 2, 3, 4)
    >>> x
    (1, 2, 3, 4)
    >>> _, *middle, _ = x
    >>> middle
    [2, 3]
    
        3
  •  1
  •   Benjiini    5 年前

    使用下划线表示需要变量,但不希望使用它。

    例如使用:

       head, _ = os.path.split("a/b/c")