Gibt es einen empfohlenen / allgemein akzeptierten Codierungsstil für Situationen, in denen eine Funktion ein Tupel von Werten zurückgibt, aber anschließend nur einer dieser Werte verwendet wird (beachten Sie, dass dies hauptsächlich für Bibliotheksfunktionen gedacht ist, die ich nicht ändern kann - einen Wrapper schreiben Der Anruf ist wahrscheinlich ein bisschen übertrieben ...)? Anstatt zu tun
a, b, c = foo()
und dann einfach nicht b
und verwenden c
, welche der folgenden Varianten sollte bevorzugt werden (oder gibt es eine andere?):
Variante 1 (Unterstrich)
a, _, _ = foo()
(Das ist sehr klar und einfach, kann aber _ = gettext.gettext
in vielen Anwendungen, die Übersetzungen verwenden, zu Konflikten führen. )
Variante 2 (Dummy-Name)
a, unused, unused = foo()
(nicht sehr ansprechend, denke ich, dasselbe gilt für andere Namen wie dummy
)
Variante 3 (Index)
a = foo()[0]
(für mich ()[0]
sieht das unpythonisch aus ...)
a, b = foo()[0:2]
sie funktionieren würde? Wenn ja: ja, tut es :)
a, *_ = foo()
wirft alle Werte außer dem ersten weg.