Czy istnieje jakiś zalecany / ogólnie akceptowany styl kodowania do obsługi sytuacji, w których funkcja zwraca krotkę wartości, ale później używana jest tylko jedna z tych wartości (zwróć uwagę, że jest to głównie przeznaczone dla funkcji bibliotecznych, których nie mogę zmienić - pisząc opakowanie połączenie jest prawdopodobnie trochę przesadzone…)? Zamiast robić
a, b, c = foo()
a następnie po prostu nie używam b
i c
, który z poniższych wariantów powinien być preferowany (czy jest inny?):
Wariant 1 (podkreślenie)
a, _, _ = foo()
(co jest bardzo jasne i proste, ale może kolidować z _ = gettext.gettext
używanym w wielu aplikacjach korzystających z tłumaczenia)
Wariant 2 (nazwa manekina)
a, unused, unused = foo()
(myślę, że niezbyt pociągające, to samo dotyczy innych nazw, takich jak dummy
)
Wariant 3 (indeks)
a = foo()[0]
(dla mnie ()[0]
wygląda to nie pytonicznie…)
a, b = foo()[0:2]
zadziała? Jeśli tak: tak, to robi :)
a, *_ = foo()
odrzuci wszystkie wartości oprócz pierwszej.