¿Existe algún estilo de codificación recomendado / generalmente aceptado para manejar situaciones en las que una función devuelve una tupla de valores pero solo se usa uno de esos valores después (tenga en cuenta que esto está destinado principalmente a las funciones de biblioteca que no puedo cambiar: escribir un contenedor alrededor la llamada es probablemente un poco exagerada ...)? En lugar de hacer
a, b, c = foo()
y luego simplemente no usa by c, ¿cuál de las siguientes variantes debería preferirse (o hay otra?):
Variante 1 (guión bajo)
a, _, _ = foo()
(que es muy claro y simple, pero podría chocar con el _ = gettext.gettextutilizado en muchas aplicaciones que usan traducción)
Variante 2 (nombre ficticio)
a, unused, unused = foo()
(No muy atractivo, creo, lo mismo ocurre con otros nombres como dummy)
Variante 3 (índice)
a = foo()[0]
(para mí las ()[0]miradas no pitónicas ...)
a, b = foo()[0:2]funcionaría? En caso afirmativo: sí, lo hace :)
a, *_ = foo()desechará todos los valores excepto el primero.