2014-04-04 1 views
9

Wenn eine Funktion in Python hat, die ein paar Variablen, zum Beispiel zurück:Wie erfülle ich die Regel Nicht verwendete Variable aus PEP8, wenn ich keine Variable brauche, die von einer Funktion zurückgegeben wird?

row, column = search_in_table(table_name, search_for) 

Manchmal braucht man nur eine der Variablen von der Funktion zurück verwenden. Aber wenn das passiert, wird die Linie mit einer PEP8 Unused Variable Warnung markiert.

Wie kann ich mit dieser Situation umgehen, damit ich alle PEP8-Regeln einhalten kann?

Antwort

15

Nun, je nach Geschmack, können Sie entweder eines von zwei Dingen tun:

  1. die Python-Konvention für ungenutzte Variablen folgen und jeden mit einem Unterstrich ersetzen:

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

    oder :

    # We only need column 
    _, column = search_in_table(table_name, search_for) 
    
  2. Index der Rückgabewert der Funktion:

    row = search_in_table(table_name, search_for)[0] 
    

    oder:

    column = search_in_table(table_name, search_for)[1] 
    

    Diese letzte Lösung funktioniert, weil, technisch gesehen, kann Python Funktionen nie mehr als einen Wert zurückgeben. Stattdessen können sie einen Tupel von Werten zurück:

    >>> 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 
    >>> 
    
Verwandte Themen