Чи є якийсь рекомендований / загальноприйнятий стиль кодування для обробки ситуацій, коли функція повертає кордону значень, але після цього використовується лише одне з цих значень (зверніть увагу, що це здебільшого призначено для функцій бібліотеки, які я не можу змінити - написання обгортки навколо дзвінок, мабуть, трохи надмірний…)? Замість того, щоб робити
a, b, c = foo()
а потім просто не використовуючи, b
і c
який із наведених варіантів слід віддати перевагу (чи є інший?):
Варіант 1 (підкреслення)
a, _, _ = foo()
(що дуже зрозуміло і просто, але може зіткнутися з _ = gettext.gettext
багатьма програмами, які використовують переклад)
Варіант 2 (назва манекена)
a, unused, unused = foo()
(Я не дуже привабливий, я думаю, те саме стосується і інших імен, як dummy
)
Варіант 3 (індекс)
a = foo()[0]
(для мене це ()[0]
виглядає непітонічно ...)
a, b = foo()[0:2]
буде працювати? Якщо так: так, це так :)
a, *_ = foo()
викине всі значення, окрім першого.